diff gcc/testsuite/c-c++-common/goacc/collapse-1.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/gcc/testsuite/c-c++-common/goacc/collapse-1.c	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,97 @@
+/* { dg-skip-if "not yet" { c++ } } */
+
+int i, j, k;
+extern int foo (void);
+
+void
+f1 (void)
+{
+  #pragma acc parallel
+  #pragma acc loop collapse (2)
+  for (i = 0; i < 5; i++)
+    ;					/* { dg-error "not enough perfectly nested" } */
+  {
+    for (j = 0; j < 5; j++)
+      ;
+  }
+}
+
+void
+f2 (void)
+{
+  #pragma acc parallel
+  #pragma acc loop collapse (2)
+  for (i = 0; i < 5; i++)
+    {
+      {
+	{
+	  for (j = 0; j < 5; j++)
+	    {
+	    }
+	}
+      }
+    }
+}
+
+void
+f3 (void)
+{
+  #pragma acc parallel
+  #pragma acc loop collapse (2)
+  for (i = 0; i < 5; i++)
+    {
+      int k = foo ();			/* { dg-error "not enough perfectly nested" } */
+      {
+	{
+	  for (j = 0; j < 5; j++)
+	    {
+	    }
+	}
+      }
+    }
+}
+
+void
+f4 (void)
+{
+  #pragma acc parallel
+  #pragma acc loop collapse (2)
+  for (i = 0; i < 5; i++)
+    {
+      {
+	for (j = 0; j < 5; j++)
+	  ;
+	foo ();				/* { dg-error "collapsed loops not perfectly nested before" } */
+      }
+    }
+}
+
+void
+f5 (void)
+{
+  #pragma acc parallel
+  #pragma acc loop collapse (2)
+  for (i = 0; i < 5; i++)
+    {
+      {
+	for (j = 0; j < 5; j++)
+	  ;
+      }
+      foo ();				/* { dg-error "collapsed loops not perfectly nested before" } */
+    }
+}
+
+void
+f6 (void)
+{
+  #pragma acc parallel
+  #pragma acc loop collapse (2)
+  for (i = 0; i < 5; i++)
+    {
+      {
+	for (j = 0; j < 5; j++)
+	  ;
+      }
+    }
+  foo ();
+}