diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2015-12-15 08:19:24 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2015-12-15 08:19:24 +0000 |
commit | ae37251a16a8faa0851cb2057a5dd2a3251a1ef9 (patch) | |
tree | e74a8ff6eb0a09c6cfb0169d9034e9334e42ee28 /test/OpenMP/critical_ast_print.cpp | |
parent | 3dc064f1ce73ec07a8686df8771bff4f02395522 (diff) |
[OPENMP 4.5] Parsing/sema for 'hint' clause of 'critical' directive.
OpenMP 4.5 adds 'hint' clause to critical directive. Patch adds parsing/semantic analysis for this clause.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255625 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/OpenMP/critical_ast_print.cpp')
-rw-r--r-- | test/OpenMP/critical_ast_print.cpp | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/test/OpenMP/critical_ast_print.cpp b/test/OpenMP/critical_ast_print.cpp index 87a1fe0bce..7189fddd71 100644 --- a/test/OpenMP/critical_ast_print.cpp +++ b/test/OpenMP/critical_ast_print.cpp @@ -8,6 +8,26 @@ void foo() {} +// CHECK: template <typename T, int N> int tmain(T argc, char **argv) +template <typename T, int N> +int tmain (T argc, char **argv) { + T b = argc, c, d, e, f, g; + static int a; +// CHECK: static int a; +#pragma omp critical + a=2; +// CHECK-NEXT: #pragma omp critical +// CHECK-NEXT: a = 2; +// CHECK-NEXT: ++a; + ++a; +#pragma omp critical (the_name) hint(N) + foo(); +// CHECK-NEXT: #pragma omp critical (the_name) hint(N) +// CHECK-NEXT: foo(); +// CHECK-NEXT: return N; + return N; +} + int main (int argc, char **argv) { int b = argc, c, d, e, f, g; static int a; @@ -18,12 +38,12 @@ int main (int argc, char **argv) { // CHECK-NEXT: a = 2; // CHECK-NEXT: ++a; ++a; -#pragma omp critical (the_name) +#pragma omp critical (the_name1) hint(23) foo(); -// CHECK-NEXT: #pragma omp critical (the_name) +// CHECK-NEXT: #pragma omp critical (the_name1) hint(23) // CHECK-NEXT: foo(); -// CHECK-NEXT: return 0; - return 0; +// CHECK-NEXT: return tmain<int, 4>(a, argv); + return tmain<int, 4>(a, argv); } #endif |