From: Frederik Harwath Date: Tue, 10 Dec 2019 16:12:58 +0000 (+0000) Subject: Add tests to verify OpenACC clause locations X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d0d0ba20f2345023e9cec2419c9fb9e6cc7098c6;p=gcc.git 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 gcc/testsuite/ * c-c++-common/goacc/clause-locations.c: New test. * gfortran.dg/goacc/clause-locations.f90: New test. From-SVN: r279169 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 389fb25fd40..e2454a65da2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2019-12-10 Frederik Harwath + + * c-c++-common/goacc/clause-locations.c: New test. + * gfortran.dg/goacc/clause-locations.f90: New test. + 2019-12-10 Richard Sandiford * gcc.target/aarch64/sve/acle/general/debug_4.c: New test. diff --git a/gcc/testsuite/c-c++-common/goacc/clause-locations.c b/gcc/testsuite/c-c++-common/goacc/clause-locations.c new file mode 100644 index 00000000000..51184e3517b --- /dev/null +++ b/gcc/testsuite/c-c++-common/goacc/clause-locations.c @@ -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; + } + } +} diff --git a/gcc/testsuite/gfortran.dg/goacc/clause-locations.f90 b/gcc/testsuite/gfortran.dg/goacc/clause-locations.f90 new file mode 100644 index 00000000000..29798d31542 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/goacc/clause-locations.f90 @@ -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 +