diff options
author | dim <dim@FreeBSD.org> | 2013-04-08 18:45:10 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2013-04-08 18:45:10 +0000 |
commit | c72c57c9e9b69944e3e009cd5e209634839581d3 (patch) | |
tree | 4fc2f184c499d106f29a386c452b49e5197bf63d /test/OpenMP/threadprivate_ast_print.cpp | |
parent | 5b20025c30d23d521e12c1f33ec8fa6b821952cd (diff) | |
download | FreeBSD-src-c72c57c9e9b69944e3e009cd5e209634839581d3.zip FreeBSD-src-c72c57c9e9b69944e3e009cd5e209634839581d3.tar.gz |
Vendor import of clang trunk r178860:
http://llvm.org/svn/llvm-project/cfe/trunk@178860
Diffstat (limited to 'test/OpenMP/threadprivate_ast_print.cpp')
-rw-r--r-- | test/OpenMP/threadprivate_ast_print.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/test/OpenMP/threadprivate_ast_print.cpp b/test/OpenMP/threadprivate_ast_print.cpp new file mode 100644 index 0000000..deb829e --- /dev/null +++ b/test/OpenMP/threadprivate_ast_print.cpp @@ -0,0 +1,43 @@ +// RUN: %clang_cc1 -verify -fopenmp -ast-print %s | FileCheck %s +// expected-no-diagnostics + +struct St{ + int a; +}; + +struct St1{ + int a; + static int b; +// CHECK: static int b; +#pragma omp threadprivate(b) +// CHECK-NEXT: #pragma omp threadprivate(b) +} d; + +int a, b; +// CHECK: int a; +// CHECK: int b; +#pragma omp threadprivate(a) +// CHECK-NEXT: #pragma omp threadprivate(a) +#pragma omp threadprivate(d, b) +// CHECK-NEXT: #pragma omp threadprivate(d,b) + +template <class T> T foo() { + static T v; + #pragma omp threadprivate(v) + return v; +} +//CHECK: template <class T = int> int foo() { +//CHECK-NEXT: static int v; +//CHECK-NEXT: #pragma omp threadprivate(v) +//CHECK: template <class T> T foo() { +//CHECK-NEXT: static T v; +//CHECK-NEXT: #pragma omp threadprivate(v) + +int main () { + static int a; +// CHECK: static int a; +#pragma omp threadprivate(a) +// CHECK-NEXT: #pragma omp threadprivate(a) + a=2; + return (foo<int>()); +} |