Check that the column information for OpenACC clauses is communicated correctly
to the middle-end, in particular by the Fortran front-end (cf. PR 92793).
2019-12-10 Frederik Harwath <frederik@codesourcery.com>
gcc/testsuite/
* c-c++-common/goacc/clause-locations.c: New test.
* gfortran.dg/goacc/clause-locations.f90: New test.
From-SVN: r279169
+2019-12-10 Frederik Harwath <frederik@codesourcery.com>
+
+ * c-c++-common/goacc/clause-locations.c: New test.
+ * gfortran.dg/goacc/clause-locations.f90: New test.
+
2019-12-10 Richard Sandiford <richard.sandiford@arm.com>
* gcc.target/aarch64/sve/acle/general/debug_4.c: New test.
--- /dev/null
+/* Verify that the location information for clauses is correct. */
+
+void
+check_clause_columns() {
+ int i, j, sum, diff;
+
+ #pragma acc parallel
+ {
+ #pragma acc loop reduction(+:sum)
+ for (i = 1; i <= 10; i++)
+ {
+ #pragma acc loop reduction(-:diff) reduction(-:sum) /* { dg-warning "53: conflicting reduction operations for .sum." } */
+ for (j = 1; j <= 10; j++)
+ sum = 1;
+ }
+ }
+}
--- /dev/null
+! Verify that the location information for clauses is correct.
+! See also PR 92793.
+
+subroutine check_clause_columns ()
+ implicit none (type, external)
+ integer :: i, j, sum, diff
+
+ !$acc parallel
+ !$acc loop reduction(+:sum)
+ do i = 1, 10
+ !$acc loop reduction(-:diff) reduction(-:sum) ! { dg-warning "47: conflicting reduction operations for .sum." }
+ do j = 1, 10
+ sum = 1
+ end do
+ end do
+ !$acc end parallel
+end subroutine check_clause_columns
+