]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - libgomp/testsuite/libgomp.c/appendix-a/a.15.1.c
Imported gcc-4.4.3
[msp430-gcc.git] / libgomp / testsuite / libgomp.c / appendix-a / a.15.1.c
diff --git a/libgomp/testsuite/libgomp.c/appendix-a/a.15.1.c b/libgomp/testsuite/libgomp.c/appendix-a/a.15.1.c
new file mode 100644 (file)
index 0000000..276ac6c
--- /dev/null
@@ -0,0 +1,44 @@
+/* { dg-do run } */
+
+#include <stdio.h>
+
+void
+work (int n)
+{
+  printf ("[%d of %d], nested = %d, n = %d\n", omp_get_thread_num (), omp_get_num_threads(), omp_get_nested (), n);
+}
+
+void
+sub3 (int n)
+{
+  work (n);
+#pragma omp barrier
+  work (n);
+}
+
+void
+sub2 (int k)
+{
+#pragma omp parallel shared(k)
+  sub3 (k);
+}
+
+void
+sub1 (int n)
+{
+  int i;
+#pragma omp parallel private(i) shared(n)
+  {
+#pragma omp for
+    for (i = 0; i < n; i++)
+      sub2 (i);
+  }
+}
+int
+main ()
+{
+  sub1 (2);
+  sub2 (15);
+  sub3 (20);
+  return 0;
+}