diff options
author | Tobias Burnus <tobias@codesourcery.com> | 2021-08-23 15:18:37 +0200 |
---|---|---|
committer | Tobias Burnus <tobias@codesourcery.com> | 2021-08-23 15:29:49 +0200 |
commit | 57a9e63c96fca56299d7a52f6712e2d9290c197e (patch) | |
tree | d9b0762fcf800567baa0cce7cfebc57ef8ea30e4 /gcc/testsuite | |
parent | d4de7e32eff0a6363defa50b052d7a30548b6552 (diff) | |
download | gcc-57a9e63c96fca56299d7a52f6712e2d9290c197e.zip gcc-57a9e63c96fca56299d7a52f6712e2d9290c197e.tar.gz gcc-57a9e63c96fca56299d7a52f6712e2d9290c197e.tar.bz2 |
Fortran/OpenMP: Improve duplicate errors
gcc/fortran/ChangeLog:
* openmp.c (gfc_match_dupl_check, gfc_match_dupl_memorder,
gfc_match_dupl_atomic): New.
(gfc_match_omp_clauses): Use them; remove duplicate
'release'/'relaxed' clause matching; improve error dignostic
for 'default'.
gcc/testsuite/ChangeLog:
* gfortran.dg/goacc/asyncwait-1.f95: Update dg-error.
* gfortran.dg/goacc/default-2.f: Update dg-error.
* gfortran.dg/goacc/enter-exit-data.f95: Update dg-error.
* gfortran.dg/goacc/if.f95: Update dg-error.
* gfortran.dg/goacc/parallel-kernels-clauses.f95: Update dg-error.
* gfortran.dg/goacc/routine-6.f90: Update dg-error.
* gfortran.dg/goacc/sie.f95: Update dg-error.
* gfortran.dg/goacc/update-if_present-2.f90: Update dg-error.
* gfortran.dg/gomp/cancel-2.f90: Update dg-error.
* gfortran.dg/gomp/declare-simd-1.f90: Update dg-error.
* gfortran.dg/gomp/error-3.f90: Update dg-error.
* gfortran.dg/gomp/loop-2.f90: Update dg-error.
* gfortran.dg/gomp/masked-2.f90: Update dg-error.
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/gfortran.dg/goacc/asyncwait-1.f95 | 2 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/goacc/default-2.f | 32 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/goacc/enter-exit-data.f95 | 4 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/goacc/if.f95 | 12 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/goacc/parallel-kernels-clauses.f95 | 16 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/goacc/routine-6.f90 | 2 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/goacc/sie.f95 | 20 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/goacc/update-if_present-2.f90 | 10 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/gomp/cancel-2.f90 | 4 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/gomp/declare-simd-1.f90 | 2 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/gomp/error-3.f90 | 18 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/gomp/loop-2.f90 | 2 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/gomp/masked-2.f90 | 2 |
13 files changed, 63 insertions, 63 deletions
diff --git a/gcc/testsuite/gfortran.dg/goacc/asyncwait-1.f95 b/gcc/testsuite/gfortran.dg/goacc/asyncwait-1.f95 index c8a72fa..f67dd9c 100644 --- a/gcc/testsuite/gfortran.dg/goacc/asyncwait-1.f95 +++ b/gcc/testsuite/gfortran.dg/goacc/asyncwait-1.f95 @@ -53,7 +53,7 @@ program asyncwait end do !$acc end parallel ! { dg-error "Unexpected \\\!\\\$ACC END PARALLEL" } - !$acc parallel copyin (a(1:N)) copy (b(1:N)) async (*) ! { dg-error "Invalid character in name at" } + !$acc parallel copyin (a(1:N)) copy (b(1:N)) async (*) ! { dg-error "Invalid character in name" } do i = 1, N b(i) = a(i) end do diff --git a/gcc/testsuite/gfortran.dg/goacc/default-2.f b/gcc/testsuite/gfortran.dg/goacc/default-2.f index ea82388..963d978 100644 --- a/gcc/testsuite/gfortran.dg/goacc/default-2.f +++ b/gcc/testsuite/gfortran.dg/goacc/default-2.f @@ -3,44 +3,44 @@ SUBROUTINE F1 IMPLICIT NONE -!$ACC KERNELS DEFAULT ! { dg-error "Failed to match clause" } +!$ACC KERNELS DEFAULT ! { dg-error "Expected '\\(' after 'default" } !$ACC END KERNELS ! { dg-error "Unexpected" } -!$ACC PARALLEL DEFAULT ! { dg-error "Failed to match clause" } +!$ACC PARALLEL DEFAULT ! { dg-error "Expected '\\(' after 'default" } !$ACC END PARALLEL ! { dg-error "Unexpected" } -!$ACC KERNELS DEFAULT ( ! { dg-error "Failed to match clause" } +!$ACC KERNELS DEFAULT ( ! { dg-error "Expected NONE or PRESENT in DEFAULT clause" } !$ACC END KERNELS ! { dg-error "Unexpected" } -!$ACC PARALLEL DEFAULT ( ! { dg-error "Failed to match clause" } +!$ACC PARALLEL DEFAULT ( ! { dg-error "Expected NONE or PRESENT in DEFAULT clause" } !$ACC END PARALLEL ! { dg-error "Unexpected" } -!$ACC KERNELS DEFAULT (, ! { dg-error "Failed to match clause" } +!$ACC KERNELS DEFAULT (, ! { dg-error "Expected NONE or PRESENT in DEFAULT clause" } !$ACC END KERNELS ! { dg-error "Unexpected" } -!$ACC PARALLEL DEFAULT (, ! { dg-error "Failed to match clause" } +!$ACC PARALLEL DEFAULT (, ! { dg-error "Expected NONE or PRESENT in DEFAULT clause" } !$ACC END PARALLEL ! { dg-error "Unexpected" } -!$ACC KERNELS DEFAULT () ! { dg-error "Failed to match clause" } +!$ACC KERNELS DEFAULT () ! { dg-error "Expected NONE or PRESENT in DEFAULT clause" } !$ACC END KERNELS ! { dg-error "Unexpected" } -!$ACC PARALLEL DEFAULT () ! { dg-error "Failed to match clause" } +!$ACC PARALLEL DEFAULT () ! { dg-error "Expected NONE or PRESENT in DEFAULT clause" } !$ACC END PARALLEL ! { dg-error "Unexpected" } -!$ACC KERNELS DEFAULT (,) ! { dg-error "Failed to match clause" } +!$ACC KERNELS DEFAULT (,) ! { dg-error "Expected NONE or PRESENT in DEFAULT clause" } !$ACC END KERNELS ! { dg-error "Unexpected" } -!$ACC PARALLEL DEFAULT (,) ! { dg-error "Failed to match clause" } +!$ACC PARALLEL DEFAULT (,) ! { dg-error "Expected NONE or PRESENT in DEFAULT clause" } !$ACC END PARALLEL ! { dg-error "Unexpected" } -!$ACC KERNELS DEFAULT (FIRSTPRIVATE) ! { dg-error "Failed to match clause" } +!$ACC KERNELS DEFAULT (FIRSTPRIVATE) ! { dg-error "Expected NONE or PRESENT in DEFAULT clause" } !$ACC END KERNELS ! { dg-error "Unexpected" } -!$ACC PARALLEL DEFAULT (FIRSTPRIVATE) ! { dg-error "Failed to match clause" } +!$ACC PARALLEL DEFAULT (FIRSTPRIVATE) ! { dg-error "Expected NONE or PRESENT in DEFAULT clause" } !$ACC END PARALLEL ! { dg-error "Unexpected" } -!$ACC KERNELS DEFAULT (PRIVATE) ! { dg-error "Failed to match clause" } +!$ACC KERNELS DEFAULT (PRIVATE) ! { dg-error "Expected NONE or PRESENT in DEFAULT clause" } !$ACC END KERNELS ! { dg-error "Unexpected" } -!$ACC PARALLEL DEFAULT (PRIVATE) ! { dg-error "Failed to match clause" } +!$ACC PARALLEL DEFAULT (PRIVATE) ! { dg-error "Expected NONE or PRESENT in DEFAULT clause" } !$ACC END PARALLEL ! { dg-error "Unexpected" } -!$ACC KERNELS DEFAULT (SHARED) ! { dg-error "Failed to match clause" } +!$ACC KERNELS DEFAULT (SHARED) ! { dg-error "Expected NONE or PRESENT in DEFAULT clause" } !$ACC END KERNELS ! { dg-error "Unexpected" } -!$ACC PARALLEL DEFAULT (SHARED) ! { dg-error "Failed to match clause" } +!$ACC PARALLEL DEFAULT (SHARED) ! { dg-error "Expected NONE or PRESENT in DEFAULT clause" } !$ACC END PARALLEL ! { dg-error "Unexpected" } !$ACC KERNELS DEFAULT (NONE ! { dg-error "Failed to match clause" } diff --git a/gcc/testsuite/gfortran.dg/goacc/enter-exit-data.f95 b/gcc/testsuite/gfortran.dg/goacc/enter-exit-data.f95 index c2a4979..e71077a 100644 --- a/gcc/testsuite/gfortran.dg/goacc/enter-exit-data.f95 +++ b/gcc/testsuite/gfortran.dg/goacc/enter-exit-data.f95 @@ -28,7 +28,7 @@ contains !$acc enter data !$acc enter data if (.false.) !$acc enter data if (l) - !$acc enter data if (.false.) if (l) ! { dg-error "Failed to match clause" } + !$acc enter data if (.false.) if (l) ! { dg-error "Duplicated 'if' clause" } !$acc enter data if (i) ! { dg-error "LOGICAL" } !$acc enter data if (1) ! { dg-error "LOGICAL" } !$acc enter data if (a) ! { dg-error "LOGICAL" } @@ -63,7 +63,7 @@ contains !$acc exit data !$acc exit data if (.false.) !$acc exit data if (l) - !$acc exit data if (.false.) if (l) ! { dg-error "Failed to match clause" } + !$acc exit data if (.false.) if (l) ! { dg-error "Duplicated 'if' clause" } !$acc exit data if (i) ! { dg-error "LOGICAL" } !$acc exit data if (1) ! { dg-error "LOGICAL" } !$acc exit data if (a) ! { dg-error "LOGICAL" } diff --git a/gcc/testsuite/gfortran.dg/goacc/if.f95 b/gcc/testsuite/gfortran.dg/goacc/if.f95 index 35e9cfe..56f3711 100644 --- a/gcc/testsuite/gfortran.dg/goacc/if.f95 +++ b/gcc/testsuite/gfortran.dg/goacc/if.f95 @@ -6,7 +6,7 @@ program test logical :: x integer :: i - !$acc parallel if ! { dg-error "Failed to match clause" } + !$acc parallel if ! { dg-error "Expected '\\(' after 'if'" } !$acc parallel if () ! { dg-error "Invalid character" } !$acc parallel if (i) ! { dg-error "scalar LOGICAL expression" } !$acc end parallel @@ -14,11 +14,11 @@ program test !$acc end parallel !$acc kernels if (i) ! { dg-error "scalar LOGICAL expression" } !$acc end kernels - !$acc kernels if ! { dg-error "Failed to match clause" } + !$acc kernels if ! { dg-error "Expected '\\(' after 'if'" } !$acc kernels if () ! { dg-error "Invalid character" } !$acc kernels if (1) ! { dg-error "scalar LOGICAL expression" } !$acc end kernels - !$acc data if ! { dg-error "Failed to match clause" } + !$acc data if ! { dg-error "Expected '\\(' after 'if'" } !$acc data if () ! { dg-error "Invalid character" } !$acc data if (i) ! { dg-error "scalar LOGICAL expression" } !$acc end data @@ -26,9 +26,9 @@ program test !$acc end data ! at most one if clause may appear - !$acc parallel if (.false.) if (.false.) { dg-error "Failed to match clause" } - !$acc kernels if (.false.) if (.false.) { dg-error "Failed to match clause" } - !$acc data if (.false.) if (.false.) { dg-error "Failed to match clause" } + !$acc parallel if (.false.) if (.false.) { dg-error "Duplicated 'if' clause" } + !$acc kernels if (.false.) if (.false.) { dg-error "Duplicated 'if' clause" } + !$acc data if (.false.) if (.false.) { dg-error "Duplicated 'if' clause" } !$acc parallel if (x) !$acc end parallel diff --git a/gcc/testsuite/gfortran.dg/goacc/parallel-kernels-clauses.f95 b/gcc/testsuite/gfortran.dg/goacc/parallel-kernels-clauses.f95 index 72ba147..70b84f1 100644 --- a/gcc/testsuite/gfortran.dg/goacc/parallel-kernels-clauses.f95 +++ b/gcc/testsuite/gfortran.dg/goacc/parallel-kernels-clauses.f95 @@ -59,17 +59,17 @@ program test !$acc parallel default ( none ) !$acc end parallel - !$acc kernels default { dg-error "Failed to match clause" } - !$acc parallel default { dg-error "Failed to match clause" } + !$acc kernels default { dg-error "Expected '\\(' after 'default'" } + !$acc parallel default { dg-error "Expected '\\(' after 'default'" } - !$acc kernels default() { dg-error "Failed to match clause" } - !$acc parallel default() { dg-error "Failed to match clause" } + !$acc kernels default() { dg-error "Expected NONE or PRESENT in DEFAULT clause" } + !$acc parallel default() { dg-error "Expected NONE or PRESENT in DEFAULT clause" } - !$acc kernels default(i) { dg-error "Failed to match clause" } - !$acc parallel default(i) { dg-error "Failed to match clause" } + !$acc kernels default(i) { dg-error "Expected NONE or PRESENT in DEFAULT clause" } + !$acc parallel default(i) { dg-error "Expected NONE or PRESENT in DEFAULT clause" } - !$acc kernels default(1) { dg-error "Failed to match clause" } - !$acc parallel default(1) { dg-error "Failed to match clause" } + !$acc kernels default(1) { dg-error "Expected NONE or PRESENT in DEFAULT clause" } + !$acc parallel default(1) { dg-error "Expected NONE or PRESENT in DEFAULT clause" } ! Wait !$acc kernels wait (l) ! { dg-error "INTEGER" } diff --git a/gcc/testsuite/gfortran.dg/goacc/routine-6.f90 b/gcc/testsuite/gfortran.dg/goacc/routine-6.f90 index 3cd543e..2b22b1c 100644 --- a/gcc/testsuite/gfortran.dg/goacc/routine-6.f90 +++ b/gcc/testsuite/gfortran.dg/goacc/routine-6.f90 @@ -118,7 +118,7 @@ subroutine subr10 (x) end subroutine subr10 subroutine subr20 (x) - !$acc routine (subr20) nohost nohost ! { dg-error "Failed to match clause" } + !$acc routine (subr20) nohost nohost ! { dg-error "Duplicated 'nohost' clause" } integer, intent(inout) :: x if (x < 1) then x = 1 diff --git a/gcc/testsuite/gfortran.dg/goacc/sie.f95 b/gcc/testsuite/gfortran.dg/goacc/sie.f95 index 194a1da..5982d5d 100644 --- a/gcc/testsuite/gfortran.dg/goacc/sie.f95 +++ b/gcc/testsuite/gfortran.dg/goacc/sie.f95 @@ -67,7 +67,7 @@ program test !$acc end kernels - !$acc parallel num_gangs ! { dg-error "Failed to match clause" } + !$acc parallel num_gangs ! { dg-error "Expected '\\(' after 'num_gangs'" } !$acc parallel num_gangs(3) !$acc end parallel @@ -95,7 +95,7 @@ program test !$acc parallel num_gangs("1") ! { dg-error "scalar INTEGER expression" } !$acc end parallel - !$acc kernels num_gangs ! { dg-error "Failed to match clause" } + !$acc kernels num_gangs ! { dg-error "Expected '\\(' after 'num_gangs'" } !$acc kernels num_gangs(3) !$acc end kernels @@ -124,7 +124,7 @@ program test !$acc end kernels - !$acc parallel num_workers ! { dg-error "Failed to match clause" } + !$acc parallel num_workers ! { dg-error "Expected '\\(' after 'num_workers'" } !$acc parallel num_workers(3) !$acc end parallel @@ -141,7 +141,7 @@ program test !$acc parallel num_workers(0) ! { dg-warning "must be positive" } !$acc end parallel - !$acc parallel num_workers() ! { dg-error "Invalid character in name" } + !$acc parallel num_workers() ! { dg-error "Invalid expression after 'num_workers\\('" } !$acc parallel num_workers(1.5) ! { dg-error "scalar INTEGER expression" } !$acc end parallel @@ -152,7 +152,7 @@ program test !$acc parallel num_workers("1") ! { dg-error "scalar INTEGER expression" } !$acc end parallel - !$acc kernels num_workers ! { dg-error "Failed to match clause" } + !$acc kernels num_workers ! { dg-error "Expected '\\(' after 'num_workers'" } !$acc kernels num_workers(3) !$acc end kernels @@ -169,7 +169,7 @@ program test !$acc kernels num_workers(0) ! { dg-warning "must be positive" } !$acc end kernels - !$acc kernels num_workers() ! { dg-error "Invalid character in name" } + !$acc kernels num_workers() ! { dg-error "Invalid expression after 'num_workers\\('" } !$acc kernels num_workers(1.5) ! { dg-error "scalar INTEGER expression" } !$acc end kernels @@ -181,7 +181,7 @@ program test !$acc end kernels - !$acc parallel vector_length ! { dg-error "Failed to match clause" } + !$acc parallel vector_length ! { dg-error "Expected '\\(' after 'vector_length'" } !$acc parallel vector_length(3) !$acc end parallel @@ -198,7 +198,7 @@ program test !$acc parallel vector_length(0) ! { dg-warning "must be positive" } !$acc end parallel - !$acc parallel vector_length() ! { dg-error "Invalid character in name" } + !$acc parallel vector_length() ! { dg-error "Invalid expression after 'vector_length\\('" } !$acc parallel vector_length(1.5) ! { dg-error "scalar INTEGER expression" } !$acc end parallel @@ -209,7 +209,7 @@ program test !$acc parallel vector_length("1") ! { dg-error "scalar INTEGER expression" } !$acc end parallel - !$acc kernels vector_length ! { dg-error "Failed to match clause" } + !$acc kernels vector_length ! { dg-error "Expected '\\(' after 'vector_length'" } !$acc kernels vector_length(3) !$acc end kernels @@ -226,7 +226,7 @@ program test !$acc kernels vector_length(0) ! { dg-warning "must be positive" } !$acc end kernels - !$acc kernels vector_length() ! { dg-error "Invalid character in name" } + !$acc kernels vector_length() ! { dg-error "Invalid expression after 'vector_length\\('" } !$acc kernels vector_length(1.5) ! { dg-error "scalar INTEGER expression" } !$acc end kernels diff --git a/gcc/testsuite/gfortran.dg/goacc/update-if_present-2.f90 b/gcc/testsuite/gfortran.dg/goacc/update-if_present-2.f90 index bf8b319..368e937 100644 --- a/gcc/testsuite/gfortran.dg/goacc/update-if_present-2.f90 +++ b/gcc/testsuite/gfortran.dg/goacc/update-if_present-2.f90 @@ -12,10 +12,10 @@ subroutine t1 allocate (x, y, z(100)) - !$acc enter data copyin(a) if_present ! { dg-error "Failed to match clause" } - !$acc exit data copyout(a) if_present ! { dg-error "Failed to match clause" } + !$acc enter data copyin(a) if_present ! { dg-error "Expected '\\(' after 'if'" } + !$acc exit data copyout(a) if_present ! { dg-error "Expected '\\(' after 'if'" } - !$acc data copy(a) if_present ! { dg-error "Failed to match clause" } + !$acc data copy(a) if_present ! { dg-error "Expected '\\(' after 'if'" } !$acc end data ! { dg-error "Unexpected ..ACC END DATA statement" } !$acc declare link(a) if_present ! { dg-error "Unexpected junk after" } @@ -40,12 +40,12 @@ subroutine t2 end do !$acc end parallel - !$acc kernels loop if_present ! { dg-error "Failed to match clause" } + !$acc kernels loop if_present ! { dg-error "Expected '\\(' after 'if'" } do b = 1, 10 end do !$acc end kernels loop ! { dg-error "Unexpected ..ACC END KERNELS LOOP statement" } - !$acc parallel loop if_present ! { dg-error "Failed to match clause" } + !$acc parallel loop if_present ! { dg-error "Expected '\\(' after 'if'" } do b = 1, 10 end do !$acc end parallel loop ! { dg-error "Unexpected ..ACC END PARALLEL LOOP statement" } diff --git a/gcc/testsuite/gfortran.dg/gomp/cancel-2.f90 b/gcc/testsuite/gfortran.dg/gomp/cancel-2.f90 index 481b1aa..4ffbb2f 100644 --- a/gcc/testsuite/gfortran.dg/gomp/cancel-2.f90 +++ b/gcc/testsuite/gfortran.dg/gomp/cancel-2.f90 @@ -5,11 +5,11 @@ subroutine foo () !$omp cancel parallel if (.true.) !$omp cancel parallel if (cancel: .true.) - !$omp cancel parallel if (.true.) if (.true.) ! { dg-error "Failed to match clause" } + !$omp cancel parallel if (.true.) if (.true.) ! { dg-error "Duplicated 'if' clause" } !$omp cancel parallel if (cancel: .true.) if (cancel: .true.) ! { dg-error "Failed to match clause" } !$omp cancel parallel if (cancel: .true.) if (.true.) ! { dg-error "IF clause without modifier at .1. used together with IF clauses with modifiers" } !$omp cancel parallel if (cancel: .true.) if (parallel: .true.) ! { dg-error "IF clause modifier PARALLEL at .1. not appropriate for the current OpenMP construct" } - !$omp cancel parallel if (.true.) if (cancel: .true.) ! { dg-error "Failed to match clause at" } + !$omp cancel parallel if (.true.) if (cancel: .true.) ! { dg-error "Duplicated 'if' clause" } !$omp cancel parallel if (parallel: .true.) if (cancel: .true.) ! { dg-error "IF clause modifier PARALLEL at .1. not appropriate for the current OpenMP construct" } !$omp end parallel end subroutine diff --git a/gcc/testsuite/gfortran.dg/gomp/declare-simd-1.f90 b/gcc/testsuite/gfortran.dg/gomp/declare-simd-1.f90 index 40169d3..04abd51 100644 --- a/gcc/testsuite/gfortran.dg/gomp/declare-simd-1.f90 +++ b/gcc/testsuite/gfortran.dg/gomp/declare-simd-1.f90 @@ -2,7 +2,7 @@ subroutine fn1 (x) integer :: x -!$omp declare simd (fn1) inbranch notinbranch uniform (x) ! { dg-error "Failed to match clause" } +!$omp declare simd (fn1) inbranch notinbranch uniform (x) ! { dg-error "Duplicated 'notinbranch' clause" } end subroutine fn1 subroutine fn2 (x) !$omp declare simd (fn100) ! { dg-error "should refer to containing procedure" } diff --git a/gcc/testsuite/gfortran.dg/gomp/error-3.f90 b/gcc/testsuite/gfortran.dg/gomp/error-3.f90 index 67948cd..b4d8b77 100644 --- a/gcc/testsuite/gfortran.dg/gomp/error-3.f90 +++ b/gcc/testsuite/gfortran.dg/gomp/error-3.f90 @@ -1,23 +1,23 @@ module m !$omp error asdf ! { dg-error "Failed to match clause" } -!$omp error at ! { dg-error "Failed to match clause" } +!$omp error at ! { dg-error "Expected '\\(' after 'at'" } !$omp error at( ! { dg-error "Expected COMPILATION or EXECUTION in AT clause at" } !$omp error at(runtime) ! { dg-error "Expected COMPILATION or EXECUTION in AT clause at" } !$omp error at(+ ! { dg-error "Expected COMPILATION or EXECUTION in AT clause at" } !$omp error at(compilation ! { dg-error "Expected COMPILATION or EXECUTION in AT clause at" } -!$omp error severity ! { dg-error "Failed to match clause" } +!$omp error severity ! { dg-error "Expected '\\(' after 'severity'" } !$omp error severity( ! { dg-error "Expected FATAL or WARNING in SEVERITY clause at" } !$omp error severity(error) ! { dg-error "Expected FATAL or WARNING in SEVERITY clause at" } !$omp error severity(- ! { dg-error "Expected FATAL or WARNING in SEVERITY clause at" } !$omp error severity(fatal ! { dg-error "Expected FATAL or WARNING in SEVERITY clause at" } -!$omp error message ! { dg-error "Failed to match clause" } -!$omp error message( ! { dg-error "Invalid character in name" } -!$omp error message(0 ! { dg-error "Failed to match clause" } -!$omp error message("foo" ! { dg-error "Failed to match clause" } +!$omp error message ! { dg-error "Expected '\\(' after 'message'" } +!$omp error message( ! { dg-error "Invalid expression after 'message\\('" } +!$omp error message(0 ! { dg-error "Invalid expression after 'message\\('" } +!$omp error message("foo" ! { dg-error "Invalid expression after 'message\\('" } -!$omp error at(compilation) at(compilation) ! { dg-error "Failed to match clause at" } -!$omp error severity(fatal) severity(warning) ! { dg-error "Failed to match clause at" } -!$omp error message("foo") message("foo") ! { dg-error "Failed to match clause at" } +!$omp error at(compilation) at(compilation) ! { dg-error "Duplicated 'at' clause at" } +!$omp error severity(fatal) severity(warning) ! { dg-error "Duplicated 'severity' clause at" } +!$omp error message("foo") message("foo") ! { dg-error "Duplicated 'message' clause at" } !$omp error message("foo"),at(compilation),severity(fatal),asdf ! { dg-error "Failed to match clause" } !$omp error at(execution) ! { dg-error "Unexpected !.OMP ERROR statement in MODULE" } diff --git a/gcc/testsuite/gfortran.dg/gomp/loop-2.f90 b/gcc/testsuite/gfortran.dg/gomp/loop-2.f90 index 0cb8661..4962683 100644 --- a/gcc/testsuite/gfortran.dg/gomp/loop-2.f90 +++ b/gcc/testsuite/gfortran.dg/gomp/loop-2.f90 @@ -37,7 +37,7 @@ end do do i = 1, 64 end do -!$omp loop bind(teams) bind(teams) ! { dg-error "24: Failed to match clause" } +!$omp loop bind(teams) bind(teams) ! { dg-error "Duplicated 'bind' clause" } do i = 1, 64 end do diff --git a/gcc/testsuite/gfortran.dg/gomp/masked-2.f90 b/gcc/testsuite/gfortran.dg/gomp/masked-2.f90 index 95ef78c..b6eb861 100644 --- a/gcc/testsuite/gfortran.dg/gomp/masked-2.f90 +++ b/gcc/testsuite/gfortran.dg/gomp/masked-2.f90 @@ -41,6 +41,6 @@ end end module subroutine bar - !$omp masked filter (0) filter (0) ! { dg-error "27: Failed to match clause" } + !$omp masked filter (0) filter (0) ! { dg-error "Duplicated 'filter' clause" } call foobar end |