blob: 89636a5bd87aa062f30e7df1cc8fce4c3c584791 [file] [log] [blame]
Alexey Bataevdb390212015-05-20 04:24:19 +00001// RUN: %clang_cc1 -verify -fopenmp -x c++ -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s
2// RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -emit-pch -o %t %s
Douglas Katzman3459ce22015-10-08 04:24:12 +00003// RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -debug-info-kind=limited -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s
Alexey Bataevcc37cc12014-11-20 04:34:54 +00004// expected-no-diagnostics
Alexey Bataevcc37cc12014-11-20 04:34:54 +00005#ifndef HEADER
6#define HEADER
7
8template <class T>
9T tmain(T argc) {
10 static T a;
11#pragma omp flush
12#pragma omp flush(a)
13 return a + argc;
14}
15
16// CHECK-LABEL: @main
17int main() {
18 static int a;
19#pragma omp flush
20#pragma omp flush(a)
David Blaikieea3e51d2015-06-29 17:29:50 +000021 // CHECK: call {{.*}}void @__kmpc_flush(%{{.+}}* {{(@|%).+}})
22 // CHECK: call {{.*}}void @__kmpc_flush(%{{.+}}* {{(@|%).+}})
Alexey Bataevcc37cc12014-11-20 04:34:54 +000023 return tmain(a);
24 // CHECK: call {{.*}} [[TMAIN:@.+]](
25 // CHECK: ret
26}
27
28// CHECK: [[TMAIN]]
David Blaikieea3e51d2015-06-29 17:29:50 +000029// CHECK: call {{.*}}void @__kmpc_flush(%{{.+}}* {{(@|%).+}})
30// CHECK: call {{.*}}void @__kmpc_flush(%{{.+}}* {{(@|%).+}})
Alexey Bataevcc37cc12014-11-20 04:34:54 +000031// CHECK: ret
32
33#endif