]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - libgomp/testsuite/libgomp.c++/pr35185.C
Imported gcc-4.4.3
[msp430-gcc.git] / libgomp / testsuite / libgomp.c++ / pr35185.C
diff --git a/libgomp/testsuite/libgomp.c++/pr35185.C b/libgomp/testsuite/libgomp.c++/pr35185.C
new file mode 100644 (file)
index 0000000..f22c772
--- /dev/null
@@ -0,0 +1,33 @@
+// PR middle-end/35185
+// { dg-do run }
+
+extern "C" void abort ();
+
+struct S
+{
+  S () : s (6) {}
+  ~S () {}
+  int s;
+};
+
+__attribute__((noinline))
+bool
+bar (S s)
+{
+  return s.s != 6;
+}
+
+int
+main ()
+{
+  S s;
+  int err = 0;
+#pragma omp parallel shared (s)
+  {
+    if (bar (s))
+      #pragma omp atomic
+       err++;
+  }
+  if (err)
+    abort ();
+}