Add tests to verify OpenACC clause locations

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
This commit is contained in:
Frederik Harwath 2019-12-10 16:12:58 +00:00 committed by Frederik Harwath
parent 64c5157f6d
commit d0d0ba20f2
3 changed files with 40 additions and 0 deletions

View File

@ -1,3 +1,8 @@
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.

View File

@ -0,0 +1,17 @@
/* 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;
}
}
}

View File

@ -0,0 +1,18 @@
! 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