]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - libgomp/testsuite/libgomp.c/pr35196.c
Imported gcc-4.4.3
[msp430-gcc.git] / libgomp / testsuite / libgomp.c / pr35196.c
diff --git a/libgomp/testsuite/libgomp.c/pr35196.c b/libgomp/testsuite/libgomp.c/pr35196.c
new file mode 100644 (file)
index 0000000..e92d976
--- /dev/null
@@ -0,0 +1,43 @@
+/* PR middle-end/35196 */
+/* { dg-do run } */
+
+extern void abort (void);
+extern void omp_set_dynamic (int);
+
+int
+main (void)
+{
+  int i, j;
+  omp_set_dynamic (0);
+#pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (static)
+  for (i = 0; i < 5; i++)
+    j = i;
+  if (i != 5 || j != 4)
+    abort ();
+#pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (static, 2)
+  for (i = 0; i < 5; i++)
+    j = i;
+  if (i != 5 || j != 4)
+    abort ();
+#pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (dynamic)
+  for (i = 0; i < 5; i++)
+    j = i;
+  if (i != 5 || j != 4)
+    abort ();
+#pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (static)
+  for (i = -12; i < 21; i += 3)
+    j = i;
+  if (i != 21 || j != 18)
+    abort ();
+#pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (static, 2)
+  for (i = -12; i < 21; i += 3)
+    j = i;
+  if (i != 21 || j != 18)
+    abort ();
+#pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (dynamic, 3)
+  for (i = -12; i < 21; i += 3)
+    j = i;
+  if (i != 21 || j != 18)
+    abort ();
+  return 0;
+}