From d0d0ba20f2345023e9cec2419c9fb9e6cc7098c6 Mon Sep 17 00:00:00 2001 From: Frederik Harwath Date: Tue, 10 Dec 2019 16:12:58 +0000 Subject: [PATCH] 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 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/c-c++-common/goacc/clause-locations.c | 17 +++++++++++++++++ gcc/testsuite/gfortran.dg/goacc/clause-locations.f90 | 18 ++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 gcc/testsuite/c-c++-common/goacc/clause-locations.c create mode 100644 gcc/testsuite/gfortran.dg/goacc/clause-locations.f90 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 389fb25..e2454a6 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 0000000..51184e3 --- /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 0000000..29798d3 --- /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 + -- 2.7.4