]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - libgomp/testsuite/libgomp.c/shared-2.c
Imported gcc-4.4.3
[msp430-gcc.git] / libgomp / testsuite / libgomp.c / shared-2.c
diff --git a/libgomp/testsuite/libgomp.c/shared-2.c b/libgomp/testsuite/libgomp.c/shared-2.c
new file mode 100644 (file)
index 0000000..56c88ec
--- /dev/null
@@ -0,0 +1,50 @@
+#include <stdio.h>
+#include <omp.h>
+
+extern void abort (void);
+
+void
+parallel (int a, int b)
+{
+  int bad, LASTPRIV, LASTPRIV_SEC;
+  int i;
+
+  a = b = 3;
+
+  bad = 0;
+
+  #pragma omp parallel firstprivate (a,b) shared (bad) num_threads (5)
+    {
+      if (a != 3 || b != 3)
+       bad = 1;
+
+      #pragma omp for lastprivate (LASTPRIV)
+      for (i = 0; i < 10; i++)
+       LASTPRIV = i;
+
+      #pragma omp sections lastprivate (LASTPRIV_SEC)
+       {
+         #pragma omp section
+           { LASTPRIV_SEC = 3; }
+
+         #pragma omp section
+           { LASTPRIV_SEC = 42; }
+       }
+
+    }
+
+  if (LASTPRIV != 9)
+    abort ();
+
+  if (LASTPRIV_SEC != 42)
+    abort ();
+
+  if (bad)
+    abort ();
+}
+
+int main()
+{
+  parallel (1, 2);
+  return 0;
+}