summaryrefslogtreecommitdiffstats
path: root/test/OpenMP/atomic_messages.cpp
diff options
context:
space:
mode:
authorKelvin Li <kkwli0@gmail.com>2016-07-20 19:41:17 +0000
committerKelvin Li <kkwli0@gmail.com>2016-07-20 19:41:17 +0000
commit979c19b4a657680c40a06b8c4fc1efd1992e5e22 (patch)
treec03716dee2ea3c282c9c7f6abc89f900673ee38b /test/OpenMP/atomic_messages.cpp
parentabc509ae81e1bdaf504893a876a6eabe379cb9b3 (diff)
[OpenMP] Ignore parens in atomic capture
Clang misdiagnoses atomic captures cases that contains parens. i.e. int v, int *p; #pragma omp atomic capture { v = (*p); (*p)++; } Patch by David S. Differential Revision: https://reviews.llvm.org/D22487 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@276167 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/OpenMP/atomic_messages.cpp')
-rw-r--r--test/OpenMP/atomic_messages.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/test/OpenMP/atomic_messages.cpp b/test/OpenMP/atomic_messages.cpp
index 7f78ad443d..efb368d1a7 100644
--- a/test/OpenMP/atomic_messages.cpp
+++ b/test/OpenMP/atomic_messages.cpp
@@ -453,6 +453,8 @@ T capture() {
#pragma omp atomic capture
{c = a; a++;}
#pragma omp atomic capture
+ {c = a; (a)++;}
+#pragma omp atomic capture
{++a;c = a;}
#pragma omp atomic capture
{c = a;a--;}
@@ -461,6 +463,8 @@ T capture() {
#pragma omp atomic capture
{c = a; a += b;}
#pragma omp atomic capture
+ {c = a; (a) += b;}
+#pragma omp atomic capture
{a %= b; c = a;}
#pragma omp atomic capture
{c = a; a *= b;}