[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