diff libgomp/testsuite/libgomp.c/pr70680-2.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libgomp/testsuite/libgomp.c/pr70680-2.c	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,79 @@
+/* PR middle-end/70680 */
+
+int v;
+
+void
+f1 (void)
+{
+  int i = 0, j = 0;
+#pragma omp task default(shared) if(0)
+  {
+#pragma omp simd collapse(2)
+    for (i = 0; i < 10; i++)
+      for (j = 0; j < 10; j++)
+	;
+    v = i + j;
+  }
+  if (i != 10 || j != 10)
+    __builtin_abort ();
+}
+
+void
+f2 (void)
+{
+  int i = 0, j = 0;
+#pragma omp task default(shared) if(0)
+  {
+#pragma omp simd collapse(2)
+    for (i = 0; i < 10; i++)
+      for (j = 0; j < 10; j++)
+	;
+  }
+  if (i != 10 || j != 10)
+    __builtin_abort ();
+}
+
+void
+f3 (void)
+{
+  int i = 0, j = 0;
+#pragma omp task default(shared) if(0)
+  {
+#pragma omp simd collapse(2) lastprivate (i, j)
+    for (i = 0; i < 10; i++)
+      for (j = 0; j < 10; j++)
+	;
+    v = i + j;
+  }
+  if (i != 10 || j != 10)
+    __builtin_abort ();
+}
+
+void
+f4 (void)
+{
+  int i = 0, j = 0;
+#pragma omp task default(shared) if(0)
+  {
+#pragma omp simd collapse(2) lastprivate (i, j)
+    for (i = 0; i < 10; i++)
+      for (j = 0; j < 10; j++)
+	;
+  }
+  if (i != 10 || j != 10)
+    __builtin_abort ();
+}
+
+int
+main ()
+{
+  f1 ();
+  if (v++ != 20)
+    __builtin_abort ();
+  f2 ();
+  f3 ();
+  if (v++ != 20)
+    __builtin_abort ();
+  f4 ();
+  return 0;
+}