]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix c-c++-common/goacc/routine-4.c and c-c++-common/goacc/routine-4-extern.c testcases
authorKwok Cheung Yeung <kcy@codesourcery.com>
Tue, 28 Jul 2020 12:41:14 +0000 (05:41 -0700)
committerKwok Cheung Yeung <kcy@codesourcery.com>
Thu, 22 Apr 2021 17:14:27 +0000 (10:14 -0700)
'Various OpenACC reduction enhancements - FE changes' (commit
6b3e1f7f05cd360bbd356b3f78511aa2ec3f40c3) introduced checks for gang
reductions on orphan loops.  The checks triggered in the routine-4.c
and routine-4-extern.c testcases, requiring changes that effectively
rendered them useless as test cases.

This patch restores the original intent of the test cases, by restoring
the original tests and removing the orphan loop reductions that were
triggering the new check.

This patch should probably have been part of 'Various OpenACC reduction
enhancements - test cases' (commit 6a0b5806b24bfdefe0b0f3ccbcc51299e5195dca).

2020-07-28  Kwok Cheung Yeung  <kcy@codesourcery.com>

gcc/testsuite/
* c-c++-common/goacc/routine-4.c (seq, vector, worker, gang): Revert
previous changes.  Remove loop reductions.
* c-c++-common/goacc/routine-4-extern.c (seq, vector, worker, gang):
Likewise.

gcc/testsuite/ChangeLog.omp
gcc/testsuite/c-c++-common/goacc/routine-4-extern.c
gcc/testsuite/c-c++-common/goacc/routine-4.c

index c346fdf109ce6830127e5478de87a21cbd77f284..84bf04689e75e4633f7150e6486da6920af01e0a 100644 (file)
@@ -1,3 +1,10 @@
+2020-07-28  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * c-c++-common/goacc/routine-4.c (seq, vector, worker, gang): Revert
+       previous changes.  Remove loop reductions.
+       * c-c++-common/goacc/routine-4-extern.c (seq, vector, worker, gang):
+       Likewise.
+
 2020-07-24  Kwok Cheung Yeung  <kcy@codesourcery.com>
 
        * gfortran.dg/goacc/routine-module-mod-1.f90 (g_1): Add
index c23ddcf784e83fc07d0a225b24220e5cf27570b7..ec4475818adbaada2d68c9dee518b2d5fa292a07 100644 (file)
@@ -26,23 +26,21 @@ void seq (void)
   extern_vector ();  /* { dg-error "routine call uses" } */
   extern_seq ();
 
-  int red;
-
-#pragma acc loop reduction (+:red) // { dg-warning "insufficient partitioning" }
+#pragma acc loop // { dg-warning "insufficient partitioning" }
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop gang reduction (+:red) // { dg-error "gang reduction on an orphan loop" }
+#pragma acc loop gang // { dg-error "disallowed by containing routine" }
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop worker reduction (+:red) // { dg-error "disallowed by containing routine" }
+#pragma acc loop worker // { dg-error "disallowed by containing routine" }
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop vector reduction (+:red) // { dg-error "disallowed by containing routine" }
+#pragma acc loop vector // { dg-error "disallowed by containing routine" }
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 }
 
 void vector (void)
@@ -52,23 +50,21 @@ void vector (void)
   extern_vector ();
   extern_seq ();
 
-  int red;
-
-#pragma acc loop reduction (+:red)
+#pragma acc loop
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop gang reduction (+:red) // { dg-error "gang reduction on an orphan loop" }
+#pragma acc loop gang // { dg-error "disallowed by containing routine" }
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop worker reduction (+:red) // { dg-error "disallowed by containing routine" }
+#pragma acc loop worker // { dg-error "disallowed by containing routine" }
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop vector reduction (+:red)
+#pragma acc loop vector
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 }
 
 void worker (void)
@@ -78,23 +74,21 @@ void worker (void)
   extern_vector ();
   extern_seq ();
 
-  int red;
-
-#pragma acc loop reduction (+:red)
+#pragma acc loop
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop gang reduction (+:red) // { dg-error "gang reduction on an orphan loop" }
+#pragma acc loop gang // { dg-error "disallowed by containing routine" }
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop worker reduction (+:red)
+#pragma acc loop worker
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop vector reduction (+:red)
+#pragma acc loop vector
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 }
 
 void gang (void)
@@ -104,21 +98,19 @@ void gang (void)
   extern_vector ();
   extern_seq ();
 
-  int red;
-
-#pragma acc loop reduction (+:red)
+#pragma acc loop
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop gang reduction (+:red) /* { dg-error "gang reduction on an orphan loop" } */
+#pragma acc loop gang
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop worker reduction (+:red)
+#pragma acc loop worker
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop vector reduction (+:red)
+#pragma acc loop vector
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 }
index ad1737169f4f27177907d57206426816fd781060..870ff645777c682f0ac0d680649dcf8d65af228c 100644 (file)
@@ -17,23 +17,21 @@ void seq (void)
   vector ();  /* { dg-error "routine call uses" } */
   seq ();
 
-  int red;
-
-#pragma acc loop reduction (+:red) // { dg-warning "insufficient partitioning" }
+#pragma acc loop // { dg-warning "insufficient partitioning" }
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop seq reduction (+:red)
+#pragma acc loop gang // { dg-error "disallowed by containing routine" }
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop worker reduction (+:red) // { dg-error "disallowed by containing routine" }
+#pragma acc loop worker // { dg-error "disallowed by containing routine" }
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop vector reduction (+:red) // { dg-error "disallowed by containing routine" }
+#pragma acc loop vector // { dg-error "disallowed by containing routine" }
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 }
 
 void vector (void) /* { dg-message "declared here" "1" } */
@@ -43,23 +41,21 @@ void vector (void) /* { dg-message "declared here" "1" } */
   vector ();
   seq ();
 
-  int red;
-
-#pragma acc loop reduction (+:red)
+#pragma acc loop 
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop seq reduction (+:red)
+#pragma acc loop gang // { dg-error "disallowed by containing routine" }
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop worker reduction (+:red) // { dg-error "disallowed by containing routine" }
+#pragma acc loop worker // { dg-error "disallowed by containing routine" }
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop vector reduction (+:red)
+#pragma acc loop vector
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 }
 
 void worker (void) /* { dg-message "declared here" "2" } */
@@ -69,23 +65,21 @@ void worker (void) /* { dg-message "declared here" "2" } */
   vector ();
   seq ();
 
-  int red;
-
-#pragma acc loop reduction (+:red)
+#pragma acc loop
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop seq reduction (+:red)
+#pragma acc loop gang // { dg-error "disallowed by containing routine" }
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop worker reduction (+:red)
+#pragma acc loop worker
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop vector reduction (+:red)
+#pragma acc loop vector
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 }
 
 void gang (void) /* { dg-message "declared here" "3" } */
@@ -95,21 +89,19 @@ void gang (void) /* { dg-message "declared here" "3" } */
   vector ();
   seq ();
 
-  int red;
-
-#pragma acc loop reduction (+:red)
+#pragma acc loop
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop seq reduction (+:red)
+#pragma acc loop gang
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop worker reduction (+:red)
+#pragma acc loop worker
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 
-#pragma acc loop vector reduction (+:red)
+#pragma acc loop vector
   for (int i = 0; i < 10; i++)
-    red ++;
+    ;
 }