aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr34513.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr34513.C')
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr34513.C32
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr34513.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr34513.C
new file mode 100644
index 000000000..e5ad3bcb4
--- /dev/null
+++ b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr34513.C
@@ -0,0 +1,32 @@
+// PR c++/34513
+// { dg-do run }
+
+#include <omp.h>
+
+extern "C" void abort ();
+
+static int errors = 0;
+static int thrs = 4;
+
+int
+main ()
+{
+ omp_set_dynamic (0);
+
+ #pragma omp parallel num_threads (thrs)
+ {
+ static int shrd = 0;
+
+ #pragma omp atomic
+ shrd += 1;
+
+ #pragma omp barrier
+
+ if (shrd != thrs)
+ #pragma omp atomic
+ errors += 1;
+ }
+
+ if (errors)
+ abort ();
+}