[gomp] Two currently failing testcases

Jakub Jelinek jakub@redhat.com
Tue Sep 27 18:17:00 GMT 2005


Hi!

I think these are both valid tests and they both fail ATM.
Not sure if you want to check them in now or only when they are fixed.

2005-09-27  Jakub Jelinek  <jakub@redhat.com>

	* gcc.dg/gomp/for-11.c: New test.

	* testsuite/libgomp.dg/omp-loop03.c: New test.

--- libgomp/testsuite/libgomp.dg/omp-loop03.c.jj	2005-09-27 19:10:52.000000000 +0200
+++ libgomp/testsuite/libgomp.dg/omp-loop03.c	2005-09-27 19:05:32.000000000 +0200
@@ -0,0 +1,25 @@
+extern void abort (void);
+int a;
+
+void
+foo ()
+{
+  int i;
+  a = 30;
+#pragma omp for lastprivate (a)
+  for (i = 0; i < 1024; i++)
+    {
+      a = i;
+    }
+  if (a != 1023)
+    abort ();
+}
+
+int
+main (void)
+{
+#pragma omp parallel num_threads (16)
+  {
+    foo ();
+  }
+}
--- gcc/testsuite/gcc.dg/gomp/for-11.c.jj	2005-09-23 01:22:50.000000000 +0200
+++ gcc/testsuite/gcc.dg/gomp/for-11.c	2005-09-23 01:33:20.000000000 +0200
@@ -0,0 +1,68 @@
+/* { dg-do compile } */
+/* { dg-options "-std=c99 -fopenmp" } */
+
+extern void baz (int);
+
+void foo (int j, int k)
+{
+  int i;
+
+  /* Valid loops.  */
+  #pragma omp for
+  for (i = 0; i < 10; i++)
+    baz (i);
+
+  #pragma omp for
+  for (i = j; i <= 10; i+=4)
+    baz (i);
+
+  #pragma omp for
+  for (i = j; i > 0; i = i - 1)
+    baz (j);
+
+  #pragma omp for
+  for (i = j; i >= k; i--)
+    baz (i);
+
+  #pragma omp for
+  for (int l = j; l < 10; l++)
+    baz (l);
+
+  /* Malformed parallel loops.  */
+  #pragma omp for
+  i = 0;		/* { dg-error "for statement expected" } */
+  for ( ; i < 10; )
+    {
+      baz (i);
+      i++;
+    }
+
+  #pragma omp for
+  for (i = 0; ; i--)
+    {
+      if (i >= 10)
+	break;
+      baz (i);
+    }			/* { dg-error "missing controlling predicate" } */
+
+  #pragma omp for
+  for (i = 0; i < 10 && j > 4; i-=3)
+    baz (i);		/* { dg-error "invalid controlling predicate" } */
+
+  #pragma omp for
+  for (i = 0; i < 10; i-=3, j+=2)
+    baz (i);		/* { dg-error "invalid increment expression" } */
+
+  int m = 0;
+  #pragma omp for
+  for (; m < 10; m++)
+    baz (m);		/* { dg-error "missing initialization expression" } */
+
+  m = 0;
+  #pragma omp for
+  for (int n = 0; m < 10; m++)
+    baz (m);		/* { dg-error "loop control variable mismatch" } */
+
+  for (m = 0; m < 10; i++)
+    baz (m);		/* { dg-error "loop control variable mismatch" } */
+}

	Jakub



More information about the Gcc-patches mailing list