diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2014-03-05 06:45:14 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2014-03-05 06:45:14 +0000 |
commit | af7849e7c75e283a68a0bed51527bd472a384610 (patch) | |
tree | 8d5c14753a7bd19da1350eed0940d6792163fee2 /clang/test/OpenMP/parallel_ast_print.cpp | |
parent | f398d7c6bfbf9ea288df9d33a6c919275bc8c042 (diff) | |
download | bcm5719-llvm-af7849e7c75e283a68a0bed51527bd472a384610.tar.gz bcm5719-llvm-af7849e7c75e283a68a0bed51527bd472a384610.zip |
[OPNEMP] Fixed instantiation of 'if' clause
llvm-svn: 202940
Diffstat (limited to 'clang/test/OpenMP/parallel_ast_print.cpp')
-rw-r--r-- | clang/test/OpenMP/parallel_ast_print.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/clang/test/OpenMP/parallel_ast_print.cpp b/clang/test/OpenMP/parallel_ast_print.cpp index c197031c592..e76a410522e 100644 --- a/clang/test/OpenMP/parallel_ast_print.cpp +++ b/clang/test/OpenMP/parallel_ast_print.cpp @@ -9,7 +9,7 @@ void foo() {} -template <typename T> +template <typename T, int C> T tmain(T argc, T *argv) { T b = argc, c, d, e, f, g; static T a; @@ -17,29 +17,37 @@ T tmain(T argc, T *argv) { a=2; #pragma omp parallel default(none), private(argc,b) firstprivate(argv) shared (d) if (argc > 0) foo(); +#pragma omp parallel if (C) + foo(); return 0; } -// CHECK: template <typename T = int> int tmain(int argc, int *argv) { +// CHECK: template <typename T = int, int C = 2> int tmain(int argc, int *argv) { // CHECK-NEXT: int b = argc, c, d, e, f, g; // CHECK-NEXT: static int a; // CHECK-NEXT: #pragma omp parallel // CHECK-NEXT: a = 2; // CHECK-NEXT: #pragma omp parallel default(none) private(argc,b) firstprivate(argv) shared(d) if(argc > 0) // CHECK-NEXT: foo() -// CHECK: template <typename T = float> float tmain(float argc, float *argv) { +// CHECK-NEXT: #pragma omp parallel if(2) +// CHECK-NEXT: foo() +// CHECK: template <typename T = float, int C = 0> float tmain(float argc, float *argv) { // CHECK-NEXT: float b = argc, c, d, e, f, g; // CHECK-NEXT: static float a; // CHECK-NEXT: #pragma omp parallel // CHECK-NEXT: a = 2; // CHECK-NEXT: #pragma omp parallel default(none) private(argc,b) firstprivate(argv) shared(d) if(argc > 0) // CHECK-NEXT: foo() -// CHECK: template <typename T> T tmain(T argc, T *argv) { +// CHECK-NEXT: #pragma omp parallel if(0) +// CHECK-NEXT: foo() +// CHECK: template <typename T, int C> T tmain(T argc, T *argv) { // CHECK-NEXT: T b = argc, c, d, e, f, g; // CHECK-NEXT: static T a; // CHECK-NEXT: #pragma omp parallel // CHECK-NEXT: a = 2; // CHECK-NEXT: #pragma omp parallel default(none) private(argc,b) firstprivate(argv) shared(d) if(argc > 0) // CHECK-NEXT: foo() +// CHECK-NEXT: #pragma omp parallel if(C) +// CHECK-NEXT: foo() int main (int argc, char **argv) { float x; @@ -54,7 +62,7 @@ int main (int argc, char **argv) { // CHECK-NEXT: #pragma omp parallel default(none) private(argc,b) firstprivate(argv) if(argc > 0) foo(); // CHECK-NEXT: foo(); - return tmain(b, &b) + tmain(x, &x); + return tmain<int, 2>(b, &b) + tmain<float, 0>(x, &x); } #endif |