diff options
Diffstat (limited to 'clang/test/OpenMP/declare_reduction_ast_print.cpp')
| -rw-r--r-- | clang/test/OpenMP/declare_reduction_ast_print.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/OpenMP/declare_reduction_ast_print.cpp b/clang/test/OpenMP/declare_reduction_ast_print.cpp index a8ca529c456..6344394cfdb 100644 --- a/clang/test/OpenMP/declare_reduction_ast_print.cpp +++ b/clang/test/OpenMP/declare_reduction_ast_print.cpp @@ -10,6 +10,15 @@ #ifndef HEADER #define HEADER +template <typename T> +void bar(T &x, T &y) { x.a += y.a; } + +namespace N1 +{ + struct A { int a; A() : a(0) {} }; + #pragma omp declare reduction(+: A : bar(omp_out, omp_in)) +}; + #pragma omp declare reduction(+ : int, char : omp_out *= omp_in) // CHECK: #pragma omp declare reduction (+ : int : omp_out *= omp_in){{$}} // CHECK-NEXT: #pragma omp declare reduction (+ : char : omp_out *= omp_in) @@ -66,6 +75,11 @@ int main() { // TODO-CHECK: #pragma omp parallel reduction(::fun: sss) { } + N1::A a; + // CHECK: #pragma omp parallel reduction(+: a) + #pragma omp parallel reduction(+: a) + { + } return foo(15); } |

