[LLVM][IR] Use splat syntax when printing ConstantExpr based splats. (#116856)
[llvm-project.git] / clang / test / OpenMP / assume_serialize_deserialize.cpp
blobd74de48047bd1b319e4092b2381cbced4a366b72
1 // RUN: rm -rf %t
2 // RUN: split-file %s %t
3 // RUN: cd %t
5 // RUN: %clang_cc1 -std=c++20 -fopenmp -triple x86_64-unknown-linux-gnu %t/AssumeMod.cppm -emit-module-interface -o %t/AssumeMod.pcm
6 // RUN: %clang_cc1 -std=c++20 -fopenmp -triple x86_64-unknown-linux-gnu %t/UseAssumeMod.cpp -fmodule-file=AssumeMod=%t/AssumeMod.pcm -ast-dump-all | FileCheck %t/AssumeMod.cppm
8 // expected-no-diagnostics
10 //--- AssumeMod.cppm
11 module;
12 export module AssumeMod;
13 export int foo(int y) {
14 int x = -1;
15 #pragma omp assume holds(y == 5)
16 // CHECK: OMPAssumeDirective 0x{{.*}} <line:5:1, col:33>
17 // CHECK-NEXT: OMPHoldsClause 0x{{.*}} <col:20, col:32>
19 x = y;
21 return x;
23 //--- UseAssumeMod.cpp
24 import AssumeMod;
26 extern "C" int printf(const char* fmt, ...);
28 int main() {
29 printf ("foo(5)=%d\n", foo (5));
30 return 0;