]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - libgomp/testsuite/libgomp.c++/single-2.C
Imported gcc-4.4.3
[msp430-gcc.git] / libgomp / testsuite / libgomp.c++ / single-2.C
diff --git a/libgomp/testsuite/libgomp.c++/single-2.C b/libgomp/testsuite/libgomp.c++/single-2.C
new file mode 100644 (file)
index 0000000..c2dd228
--- /dev/null
@@ -0,0 +1,36 @@
+extern "C" void abort (void);
+
+struct X
+{
+  int a;
+  char b;
+  int c;
+};
+
+main()
+{
+  int i = 0;
+  struct X x;
+  int bad = 0;
+
+  #pragma omp parallel private (i, x) shared (bad)
+    {
+      i = 5;
+
+      #pragma omp single copyprivate (i, x)
+       {
+         i++;
+         x.a = 23;
+         x.b = 42;
+         x.c = 26;
+       }
+
+      if (i != 6 || x.a != 23 || x.b != 42 || x.c != 26)
+       bad = 1;
+    }
+
+  if (bad)
+    abort ();
+
+  return 0;
+}