From b22b7d462ee469da57e7c17ffbf0686076b7af65 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sun, 9 Dec 2018 13:47:35 +0100 Subject: [PATCH] [PR88420] Fortran OpenACC "Clause SEQ conflicts with INDEPENDENT" The Fortran front end declares that the OpenACC "Clause SEQ conflicts with INDEPENDENT". While that combination doesn't make too much sense indeed, it's still valid; these are orthogonal concepts. gcc/fortran/ PR fortran/88420 * openmp.c (resolve_oacc_loop_blocks): Remove "Clause SEQ conflicts with INDEPENDENT" diagnostic. gcc/testsuite/ PR fortran/88420 * gfortran.dg/goacc/loop-1-2.f95: Update. * gfortran.dg/goacc/loop-1.f95: Likewise. From-SVN: r266920 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/openmp.c | 2 -- gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/gfortran.dg/goacc/loop-1-2.f95 | 3 +-- gcc/testsuite/gfortran.dg/goacc/loop-1.f95 | 3 +-- 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 7ae21ac7d80..ae1871ec7f8 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2018-12-09 Thomas Schwinge + + PR fortran/88420 + * openmp.c (resolve_oacc_loop_blocks): Remove "Clause SEQ + conflicts with INDEPENDENT" diagnostic. + 2018-12-08 Steven G. Kargl PR fortran/88048 diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c index fb9c073ff77..d97b8bfbb14 100644 --- a/gcc/fortran/openmp.c +++ b/gcc/fortran/openmp.c @@ -5895,8 +5895,6 @@ resolve_oacc_loop_blocks (gfc_code *code) if (code->ext.omp_clauses->seq) { - if (code->ext.omp_clauses->independent) - gfc_error ("Clause SEQ conflicts with INDEPENDENT at %L", &code->loc); if (code->ext.omp_clauses->gang) gfc_error ("Clause SEQ conflicts with GANG at %L", &code->loc); if (code->ext.omp_clauses->worker) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 0cbe4e26bb2..5656259cbba 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2018-12-09 Thomas Schwinge + + PR fortran/88420 + * gfortran.dg/goacc/loop-1-2.f95: Update. + * gfortran.dg/goacc/loop-1.f95: Likewise. + 2018-12-08 Steven G. Kargl PR fortran/88048 diff --git a/gcc/testsuite/gfortran.dg/goacc/loop-1-2.f95 b/gcc/testsuite/gfortran.dg/goacc/loop-1-2.f95 index f89687aab43..e048205d2c3 100644 --- a/gcc/testsuite/gfortran.dg/goacc/loop-1-2.f95 +++ b/gcc/testsuite/gfortran.dg/goacc/loop-1-2.f95 @@ -152,8 +152,7 @@ subroutine test1 ! { dg-error "ACC LOOP iteration variable must be of type integer" "" { target *-*-* } 150 } end do - ! Both seq and independent are not allowed - !$acc loop independent seq ! { dg-error "SEQ conflicts with INDEPENDENT" } + !$acc loop independent seq do i = 1,10 enddo diff --git a/gcc/testsuite/gfortran.dg/goacc/loop-1.f95 b/gcc/testsuite/gfortran.dg/goacc/loop-1.f95 index e51c9a40f92..776fa482af3 100644 --- a/gcc/testsuite/gfortran.dg/goacc/loop-1.f95 +++ b/gcc/testsuite/gfortran.dg/goacc/loop-1.f95 @@ -152,8 +152,7 @@ subroutine test1 ! { dg-error "ACC LOOP iteration variable must be of type integer" "" { target *-*-* } 150 } end do - ! Both seq and independent are not allowed - !$acc loop independent seq ! { dg-error "SEQ conflicts with INDEPENDENT" } + !$acc loop independent seq do i = 1,10 enddo