[committed]

Message ID aa2286fa-2560-9955-7fd7-ae3fc4bd2361@codesourcery.com
State Committed
Headers
Series [committed] |

Commit Message

Tobias Burnus Oct. 22, 2021, 10:07 p.m. UTC
  Committed as r12-4633-g030875c197e339542ddfcbad90cfc01263151bec

To reduce the XFAIL clutter in the *.sum files, this patch removes some
pointless XFAIL in favour of pruning the output which should be ignored
and using explicit checks for the currently output warnings/errors.

Tobias
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
  

Patch

commit 030875c197e339542ddfcbad90cfc01263151bec
Author: Tobias Burnus <tobias@codesourcery.com>
Date:   Sat Oct 23 00:04:43 2021 +0200

    Fortran: Change XFAIL to PASS
    
    Replace dg-excess-errors by dg-error/warning and dg-prune-output for
    more fine-grained output handling and to avoid XPASS.
    
    gcc/testsuite/ChangeLog:
    
            * gfortran.dg/associate_3.f03: Replace dg-excess-errors by
            other dg-* to change XFAIL to PASS.
            * gfortran.dg/binding_label_tests_4.f03: Likewise.
            * gfortran.dg/block_4.f08: Likewise.
            * gfortran.dg/charlen_04.f90: Likewise.
            * gfortran.dg/charlen_05.f90: Likewise.
            * gfortran.dg/charlen_06.f90: Likewise.
            * gfortran.dg/charlen_13.f90: Likewise.
            * gfortran.dg/coarray_9.f90: Likewise.
            * gfortran.dg/coarray_collectives_3.f90: Likewise.
            * gfortran.dg/data_invalid.f90: Likewise.
            * gfortran.dg/do_4.f: Likewise.
            * gfortran.dg/dollar_sym_1.f90: Likewise.
            * gfortran.dg/dollar_sym_3.f: Likewise.
            * gfortran.dg/fmt_tab_1.f90: Likewise.
            * gfortran.dg/fmt_tab_2.f90: Likewise.
            * gfortran.dg/forall_16.f90: Likewise.
            * gfortran.dg/g77/970125-0.f: Likewise.
            * gfortran.dg/gomp/unexpected-end.f90: Likewise.
            * gfortran.dg/interface_operator_1.f90: Likewise.
            * gfortran.dg/interface_operator_2.f90: Likewise.
            * gfortran.dg/line_length_4.f90: Likewise.
            * gfortran.dg/line_length_5.f90: Likewise.
            * gfortran.dg/line_length_6.f90: Likewise.
            * gfortran.dg/line_length_8.f90: Likewise.
            * gfortran.dg/line_length_9.f90: Likewise.
            * gfortran.dg/pr65045.f90: Likewise.
            * gfortran.dg/pr69497.f90: Likewise.
            * gfortran.dg/submodule_21.f08: Likewise.
            * gfortran.dg/tab_continuation.f: Likewise.
            * gfortran.dg/typebound_proc_2.f90: Likewise.
            * gfortran.dg/warnings_are_errors_1.f90: Likewise.

diff --git a/gcc/testsuite/gfortran.dg/associate_3.f03 b/gcc/testsuite/gfortran.dg/associate_3.f03
index da7bec951d1..dfd5a99500e 100644
--- a/gcc/testsuite/gfortran.dg/associate_3.f03
+++ b/gcc/testsuite/gfortran.dg/associate_3.f03
@@ -34,4 +34,4 @@  PROGRAM main
     INTEGER :: b ! { dg-error "Unexpected data declaration statement" }
   END ASSOCIATE
 END PROGRAM main ! { dg-error "Expecting END ASSOCIATE" }
-! { dg-excess-errors "Unexpected end of file" }
+! { dg-error "Unexpected end of file" "" { target "*-*-*" } 0 }
diff --git a/gcc/testsuite/gfortran.dg/binding_label_tests_4.f03 b/gcc/testsuite/gfortran.dg/binding_label_tests_4.f03
index f8c0f046063..af9a588cfec 100644
--- a/gcc/testsuite/gfortran.dg/binding_label_tests_4.f03
+++ b/gcc/testsuite/gfortran.dg/binding_label_tests_4.f03
@@ -20,4 +20,4 @@  module C
 use A
 use B ! { dg-error "Cannot open module file" }
 end module C
-! { dg-excess-errors "compilation terminated" }
+! { dg-prune-output "compilation terminated" }
diff --git a/gcc/testsuite/gfortran.dg/block_4.f08 b/gcc/testsuite/gfortran.dg/block_4.f08
index 4c63194c85d..3ff52b0a098 100644
--- a/gcc/testsuite/gfortran.dg/block_4.f08
+++ b/gcc/testsuite/gfortran.dg/block_4.f08
@@ -15,4 +15,4 @@  PROGRAM main
   myname2: BLOCK
   END BLOCK ! { dg-error "Expected block name of 'myname2'" }
 END PROGRAM main ! { dg-error "Expecting END BLOCK" }
-! { dg-excess-errors "Unexpected end of file" }
+! { dg-error "Unexpected end of file" "" { target "*-*-*" } 0 }
diff --git a/gcc/testsuite/gfortran.dg/charlen_04.f90 b/gcc/testsuite/gfortran.dg/charlen_04.f90
index f93465f2ae6..97aa0ec583c 100644
--- a/gcc/testsuite/gfortran.dg/charlen_04.f90
+++ b/gcc/testsuite/gfortran.dg/charlen_04.f90
@@ -3,6 +3,5 @@ 
 program p
    type t
       character(*), allocatable :: x(*)  ! { dg-error "must have a deferred shape" }
-   end type
+   end type                              ! { dg-error "needs to be a constant specification" "" { target "*-*-*" } .-1 } 
 end
-! { dg-excess-errors "needs to be a constant specification" } 
diff --git a/gcc/testsuite/gfortran.dg/charlen_05.f90 b/gcc/testsuite/gfortran.dg/charlen_05.f90
index 0eb0015bf38..e58f9263330 100644
--- a/gcc/testsuite/gfortran.dg/charlen_05.f90
+++ b/gcc/testsuite/gfortran.dg/charlen_05.f90
@@ -3,6 +3,5 @@ 
 program p
    type t
       character(*) :: x y  ! { dg-error "error in data declaration" }
-   end type
+   end type                ! { dg-error "needs to be a constant specification" "" { target "*-*-*" } .-1 } 
 end
-! { dg-excess-errors "needs to be a constant specification" } 
diff --git a/gcc/testsuite/gfortran.dg/charlen_06.f90 b/gcc/testsuite/gfortran.dg/charlen_06.f90
index e20d6047f68..836c1c69d9e 100644
--- a/gcc/testsuite/gfortran.dg/charlen_06.f90
+++ b/gcc/testsuite/gfortran.dg/charlen_06.f90
@@ -3,6 +3,5 @@ 
 program p
    type t
       character(*) :: x+1  ! { dg-error "error in data declaration" }
-   end type
+   end type                ! { dg-error "needs to be a constant specification" "" { target "*-*-*" } .-1 } 
 end
-! { dg-excess-errors "needs to be a constant specification" } 
diff --git a/gcc/testsuite/gfortran.dg/charlen_13.f90 b/gcc/testsuite/gfortran.dg/charlen_13.f90
index d89b71c9dcb..8dc192bd0b1 100644
--- a/gcc/testsuite/gfortran.dg/charlen_13.f90
+++ b/gcc/testsuite/gfortran.dg/charlen_13.f90
@@ -4,7 +4,7 @@  program p
    type t
       character(2), allocatable :: a(*) ! { dg-error "must have a deferred shape" }
       character(*), allocatable :: b(2) ! { dg-error "must have a deferred shape" }
+                                        ! { dg-error "needs to be a constant specification" "" { target "*-*-*" } .-1 } 
       character(*), allocatable :: c(*) ! { dg-error "must have a deferred shape" }
-   end type
+   end type                             ! { dg-error "needs to be a constant specification" "" { target "*-*-*" } .-1 } 
 end
-! { dg-excess-errors "needs to be a constant specification" } 
diff --git a/gcc/testsuite/gfortran.dg/coarray_9.f90 b/gcc/testsuite/gfortran.dg/coarray_9.f90
index 0a4dbeccc50..b613428bcc7 100644
--- a/gcc/testsuite/gfortran.dg/coarray_9.f90
+++ b/gcc/testsuite/gfortran.dg/coarray_9.f90
@@ -16,4 +16,4 @@  critical ! "Coarrays disabled"  (but error above is fatal)
 end critical ! "Expecting END PROGRAM statement"  (but error above is fatal)
 
 end
-! { dg-excess-errors "compilation terminated" }
+! { dg-prune-output "compilation terminated" }
diff --git a/gcc/testsuite/gfortran.dg/coarray_collectives_3.f90 b/gcc/testsuite/gfortran.dg/coarray_collectives_3.f90
index 2a3ddf44cfe..04d540f373d 100644
--- a/gcc/testsuite/gfortran.dg/coarray_collectives_3.f90
+++ b/gcc/testsuite/gfortran.dg/coarray_collectives_3.f90
@@ -8,4 +8,4 @@  program test
   integer :: val
   call co_max(val) ! { dg-error "Coarrays disabled at .1., use '-fcoarray=' to enable" }
 end program test
-! { dg-excess-errors "compilation terminated" }
+! { dg-prune-output "compilation terminated" }
diff --git a/gcc/testsuite/gfortran.dg/data_invalid.f90 b/gcc/testsuite/gfortran.dg/data_invalid.f90
index 960a8f3d3ec..6d0358759ad 100644
--- a/gcc/testsuite/gfortran.dg/data_invalid.f90
+++ b/gcc/testsuite/gfortran.dg/data_invalid.f90
@@ -40,7 +40,7 @@  SUBROUTINE data_init_array_invalid()
   data       e(2) / 2 /                          ! { dg-error "re-initialization" }
 
   integer :: f(3) = 0                            ! { dg-error "already is initialized" }
-  data       f(2) / 1 /
+  data       f(2) / 1 /                          ! { dg-error "already is initialized" }
 
   ! full array initializer, re-initialize subsection
   integer :: g(3)
@@ -48,7 +48,7 @@  SUBROUTINE data_init_array_invalid()
   data       g(1:2) / 2*2 /                      ! { dg-error "re-initialization" }
 
   integer :: h(3) = 1                            ! { dg-error "already is initialized" }
-  data       h(2:3) / 2*2 /
+  data       h(2:3) / 2*2 /                      ! { dg-error "already is initialized" }
 
   ! full array initializer, re-initialize full array
   integer :: i(3)
@@ -56,7 +56,7 @@  SUBROUTINE data_init_array_invalid()
   data       i   / 2,2,2 /                       ! { dg-error "re-initialization" }
 
   integer :: j(3) = 1                            ! { dg-error "already is initialized" }
-  data       j   / 3*2 /
+  data       j   / 3*2 /                         ! { dg-error "already is initialized" }
 END SUBROUTINE
 
 SUBROUTINE data_init_matrix_invalid()
@@ -85,7 +85,7 @@  SUBROUTINE data_init_matrix_invalid()
   data       e(2,3) / 2 /                        ! { dg-error "re-initialization" }
 
   integer :: f(3,3) = 1                          ! { dg-error "already is initialized" }
-  data       f(3,2) / 2 /
+  data       f(3,2) / 2 /                        ! { dg-error "already is initialized" }
 
   ! full array initializer, re-initialize subsection
   integer :: g(3,3)
@@ -93,7 +93,7 @@  SUBROUTINE data_init_matrix_invalid()
   data       g(2:3,2:3) / 2, 2*3, 4 /            ! { dg-error "re-initialization" }
 
   integer :: h(3,3) = 1                          ! { dg-error "already is initialized" }
-  data       h(2:3,2:3) / 2, 2*3, 4 /
+  data       h(2:3,2:3) / 2, 2*3, 4 /            ! { dg-error "already is initialized" }
 
   ! full array initializer, re-initialize full array
   integer :: i(3,3)
@@ -101,7 +101,7 @@  SUBROUTINE data_init_matrix_invalid()
   data       i   / 9 * 1 /                       ! { dg-error "re-initialization" }
 
   integer :: j(3,3) = 0                          ! { dg-error "already is initialized" }
-  data       j   / 9 * 1 /
+  data       j   / 9 * 1 /                       ! { dg-error "already is initialized" }
 END SUBROUTINE
 
 SUBROUTINE data_init_misc_invalid()
@@ -112,11 +112,9 @@  SUBROUTINE data_init_misc_invalid()
   ! index out-of-bounds, direct access
   integer :: b(3)
   data       b(-2) / 1 /                         ! { dg-error "below array lower bound" }
-
+                                                 ! { dg-warning "is out of bounds" "" { target *-*-* } .-1 }
   ! index out-of-bounds, implied do-loop (PR32315)
   integer :: i
   character(len=20), dimension(4) :: string
   data (string(i), i = 1, 5) / 'A', 'B', 'C', 'D', 'E' /   ! { dg-error "above array upper bound" }
 END SUBROUTINE
-
-! { dg-excess-errors "" }
diff --git a/gcc/testsuite/gfortran.dg/do_4.f b/gcc/testsuite/gfortran.dg/do_4.f
index 6d688a0a323..e391b685fc2 100644
--- a/gcc/testsuite/gfortran.dg/do_4.f
+++ b/gcc/testsuite/gfortran.dg/do_4.f
@@ -4,6 +4,7 @@ 
        if(i.eq.5)then
           goto 10
  10    endif           ! { dg-error "is within another block" }
-       end
-! { dg-excess-errors "" }
+       end             ! { dg-error "END DO statement expected" }
+                       ! { dg-warning "Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE" "" { target "*-*-*" } 6 }
+! { dg-error "Unexpected end of file" "" { target "*-*-*" } 0 }
 
diff --git a/gcc/testsuite/gfortran.dg/dollar_sym_1.f90 b/gcc/testsuite/gfortran.dg/dollar_sym_1.f90
index cb53fd320f2..5cee77599f4 100644
--- a/gcc/testsuite/gfortran.dg/dollar_sym_1.f90
+++ b/gcc/testsuite/gfortran.dg/dollar_sym_1.f90
@@ -7,4 +7,4 @@ 
       PARAMETER (PLT$B_OPC=0) !  Unreachable as the error above is now fatal
       common /abc$def/ PLT$C_HOUSTPIX, PLT$C_COMMAND !  Unreachable as the error above is now fatal
       end
-! { dg-excess-errors "compilation terminated" }
+! { dg-prune-output "compilation terminated" }
diff --git a/gcc/testsuite/gfortran.dg/dollar_sym_3.f b/gcc/testsuite/gfortran.dg/dollar_sym_3.f
index 7b9b3446106..52ce041c09e 100644
--- a/gcc/testsuite/gfortran.dg/dollar_sym_3.f
+++ b/gcc/testsuite/gfortran.dg/dollar_sym_3.f
@@ -8,4 +8,4 @@  c Segmentation fault in gfc_restore_last_undo_checkpoint
       COMMON RADE3155V62$JUTMU9L9E(3,3,3), LADE314JUTMP9         ! { dg-error "Invalid character '\\$' at .1.. Use '-fdollar-ok' to allow it as an extension" }
      +LHEDDJNTMP9L(3,3,3)                                                       
       end
-! { dg-excess-errors "compilation terminated" }
+! { dg-prune-output "compilation terminated" }
diff --git a/gcc/testsuite/gfortran.dg/fmt_tab_1.f90 b/gcc/testsuite/gfortran.dg/fmt_tab_1.f90
index a763714881b..0b36aee2a2f 100644
--- a/gcc/testsuite/gfortran.dg/fmt_tab_1.f90
+++ b/gcc/testsuite/gfortran.dg/fmt_tab_1.f90
@@ -6,7 +6,6 @@ 
         write (*, 10)
         ! There is a tab character before 'bug!'.  This is accepted without
         ! the -Wno-tabs option or a -std= option.
- 10     format ('Hello ',	'bug!') ! { dg-warning "tab character in format" }
-
+ 10     format ('Hello ',	'bug!') ! { dg-warning "tab character in format at " }
+                                        ! { dg-warning "tab character at " "" { target "*-*-*" } .-1 }
       end
-! { dg-excess-errors "tab character in format" }
diff --git a/gcc/testsuite/gfortran.dg/fmt_tab_2.f90 b/gcc/testsuite/gfortran.dg/fmt_tab_2.f90
index bfff7ce924f..3f2d6fcc26d 100644
--- a/gcc/testsuite/gfortran.dg/fmt_tab_2.f90
+++ b/gcc/testsuite/gfortran.dg/fmt_tab_2.f90
@@ -5,5 +5,4 @@ 
       program TestFormat
         write (*, 10)
  10     format ('Hello ',	'bug!') ! { dg-warning "tab character in format" }
-      end
-! { dg-excess-errors "tab character in FORMAT" }
+      end                               ! { dg-warning "tab character at " "" { target "*-*-*" } .-1 }
diff --git a/gcc/testsuite/gfortran.dg/forall_16.f90 b/gcc/testsuite/gfortran.dg/forall_16.f90
index 017aa5afdac..e341c377d74 100644
--- a/gcc/testsuite/gfortran.dg/forall_16.f90
+++ b/gcc/testsuite/gfortran.dg/forall_16.f90
@@ -4,6 +4,4 @@ 
   implicit none
   integer i,dest(10)
   forall (i=2:ix)  dest(i)=i ! { dg-error "has no IMPLICIT type" }
-end
-
-! { dg-excess-errors "Can't convert UNKNOWN to INTEGER" }
+end                          ! { dg-error "Cannot convert UNKNOWN to INTEGER" "" { target "*-*-*" } .-1 }
diff --git a/gcc/testsuite/gfortran.dg/g77/970125-0.f b/gcc/testsuite/gfortran.dg/g77/970125-0.f
index 656c4750abe..0c12e26fbd5 100644
--- a/gcc/testsuite/gfortran.dg/g77/970125-0.f
+++ b/gcc/testsuite/gfortran.dg/g77/970125-0.f
@@ -1,7 +1,6 @@ 
 c { dg-do compile }
 c
-c Following line added on transfer to gfortran testsuite
-c { dg-excess-errors "" }
+c { dg-additional-options "-w" }
 c
 C JCB comments:
 C g77 doesn't accept the added line "integer(kind=7) ..." --
@@ -35,10 +34,10 @@  c     Frontend bug fixed by JCB 1998-06-01 com.c &c changes.
         print *, max4
         print *, i4, %loc(i4)
         print *, i8, %loc(i8)
-        call foo(i4, %loc(i4), i8, %loc(i8))
+        call foo(i4, %loc(i4), i8, %loc(i8))  ! { dg-error "Type mismatch in argument 'i8a' at .1.; passed INTEGER.8. to INTEGER.4." }
         end
         subroutine foo(i4, i4a, i8, i8a)
-        integer(kind=7) i4a, i8a
+        integer(kind=7) i4a, i8a  ! { dg-error "Kind 7 not supported for type INTEGER" }
         integer(kind=8) i8
         print *, i4, i4a
         print *, i8, i8a
diff --git a/gcc/testsuite/gfortran.dg/gomp/unexpected-end.f90 b/gcc/testsuite/gfortran.dg/gomp/unexpected-end.f90
index d2e8daa3fde..96f10b594cf 100644
--- a/gcc/testsuite/gfortran.dg/gomp/unexpected-end.f90
+++ b/gcc/testsuite/gfortran.dg/gomp/unexpected-end.f90
@@ -120,4 +120,4 @@  end do
 
 end  ! { dg-error "Unexpected END statement" }
 
-! { dg-excess-errors "Unexpected end of file" }
+! { dg-error "Unexpected end of file" "" { target "*-*-*" } 0 }
diff --git a/gcc/testsuite/gfortran.dg/interface_operator_1.f90 b/gcc/testsuite/gfortran.dg/interface_operator_1.f90
index 97d260a2b98..66847511a75 100644
--- a/gcc/testsuite/gfortran.dg/interface_operator_1.f90
+++ b/gcc/testsuite/gfortran.dg/interface_operator_1.f90
@@ -7,4 +7,4 @@  program p
    interface operator ( .gt. )
    end interface operator        ! { dg-error "END INTERFACE OPERATOR" }
 end program p                    ! { dg-error "END INTERFACE" }
-! { dg-excess-errors "Unexpected end of file" }
+! { dg-error "Unexpected end of file" "" { target "*-*-*" } 0 }
diff --git a/gcc/testsuite/gfortran.dg/interface_operator_2.f90 b/gcc/testsuite/gfortran.dg/interface_operator_2.f90
index a73959650e2..11b9ff55736 100644
--- a/gcc/testsuite/gfortran.dg/interface_operator_2.f90
+++ b/gcc/testsuite/gfortran.dg/interface_operator_2.f90
@@ -7,4 +7,4 @@  program p
    interface operator ( .gt. )
    end interface operator (.lt.) ! { dg-error "END INTERFACE OPERATOR" }
 end program p                    ! { dg-error "END INTERFACE" }
-! { dg-excess-errors "Unexpected end of file" }
+! { dg-error "Unexpected end of file" "" { target "*-*-*" } 0 }
diff --git a/gcc/testsuite/gfortran.dg/line_length_4.f90 b/gcc/testsuite/gfortran.dg/line_length_4.f90
index 6e3c76e6f88..80040408927 100644
--- a/gcc/testsuite/gfortran.dg/line_length_4.f90
+++ b/gcc/testsuite/gfortran.dg/line_length_4.f90
@@ -16,4 +16,4 @@ 
    end subroutine foo
   end
 ! { dg-error "Line truncated" " " { target *-*-* } 8 }
-! { dg-excess-errors "some warnings being treated as errors" }
+! { dg-prune-output "some warnings being treated as errors" }
diff --git a/gcc/testsuite/gfortran.dg/line_length_5.f90 b/gcc/testsuite/gfortran.dg/line_length_5.f90
index d7aca12e004..81832451ea2 100644
--- a/gcc/testsuite/gfortran.dg/line_length_5.f90
+++ b/gcc/testsuite/gfortran.dg/line_length_5.f90
@@ -4,4 +4,4 @@  print *, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 end 
 ! { dg-error "Line truncated" " " { target *-*-* } 3 }
 ! { dg-error "Unterminated character constant" " " { target *-*-* } 3 }
-! { dg-excess-errors "some warnings being treated as errors" }
+! { dg-prune-output "some warnings being treated as errors" }
diff --git a/gcc/testsuite/gfortran.dg/line_length_6.f90 b/gcc/testsuite/gfortran.dg/line_length_6.f90
index 92f3401e90f..8cdb0209981 100644
--- a/gcc/testsuite/gfortran.dg/line_length_6.f90
+++ b/gcc/testsuite/gfortran.dg/line_length_6.f90
@@ -5,4 +5,4 @@ 
 !
       print *, 1                                                                                                                                          + 2 ! { dg-error "Line truncated at .1." }
       end
-! { dg-excess-errors "some warnings being treated as errors" }
+! { dg-prune-output "some warnings being treated as errors" }
diff --git a/gcc/testsuite/gfortran.dg/line_length_8.f90 b/gcc/testsuite/gfortran.dg/line_length_8.f90
index 3f0efaf4c0a..afd6cc2df46 100644
--- a/gcc/testsuite/gfortran.dg/line_length_8.f90
+++ b/gcc/testsuite/gfortran.dg/line_length_8.f90
@@ -6,4 +6,4 @@ 
 !
       print *, 1                                                                                                                                          + 2 ! { dg-error "Line truncated at .1." }
       end
-! { dg-excess-errors "some warnings being treated as errors" }
+! { dg-prune-output "some warnings being treated as errors" }
diff --git a/gcc/testsuite/gfortran.dg/line_length_9.f90 b/gcc/testsuite/gfortran.dg/line_length_9.f90
index f338972272c..6c156afc144 100644
--- a/gcc/testsuite/gfortran.dg/line_length_9.f90
+++ b/gcc/testsuite/gfortran.dg/line_length_9.f90
@@ -6,4 +6,4 @@ 
 !
       print *, 1                                                                                                                                          + 2 ! { dg-error "Line truncated at .1." }
       end
-! { dg-excess-errors "some warnings being treated as errors" }
+! { dg-prune-output "some warnings being treated as errors" }
diff --git a/gcc/testsuite/gfortran.dg/pr65045.f90 b/gcc/testsuite/gfortran.dg/pr65045.f90
index 5b838d5fb03..c49652993d7 100644
--- a/gcc/testsuite/gfortran.dg/pr65045.f90
+++ b/gcc/testsuite/gfortran.dg/pr65045.f90
@@ -12,4 +12,4 @@  i:block
 end block i      ! { dg-error "Expecting END PROGRAM statement" }
 print*,i         ! { dg-error "not appropriate for an expression" }
 end
-! { dg-excess-errors "Unexpected end of file" }
+! { dg-error "Unexpected end of file" "" { target "*-*-*" } 0 }
diff --git a/gcc/testsuite/gfortran.dg/pr69497.f90 b/gcc/testsuite/gfortran.dg/pr69497.f90
index 1698ebbf4ec..291d906cb45 100644
--- a/gcc/testsuite/gfortran.dg/pr69497.f90
+++ b/gcc/testsuite/gfortran.dg/pr69497.f90
@@ -5,4 +5,4 @@  program p
    do
    end block ! { dg-error "Expecting END DO statement" }
 end ! { dg-error "END DO statement expected" }
-! { dg-excess-errors "Unexpected end of file" }
+! { dg-error "Unexpected end of file" "" { target "*-*-*" } 0 }
diff --git a/gcc/testsuite/gfortran.dg/submodule_21.f08 b/gcc/testsuite/gfortran.dg/submodule_21.f08
index c96acb2e856..bb626006fe9 100644
--- a/gcc/testsuite/gfortran.dg/submodule_21.f08
+++ b/gcc/testsuite/gfortran.dg/submodule_21.f08
@@ -16,4 +16,5 @@  PROGRAM MyProg
   USE MainModule
   WRITE(*,*) a
 END PROGRAM MyProg
-! { dg-excess-errors "does not contain a MODULE PROCEDURE" }
+! { dg-error "does not contain a MODULE PROCEDURE" "" { target "*-*-*" } 0 }
+! { dg-prune-output "compilation terminated" }
diff --git a/gcc/testsuite/gfortran.dg/tab_continuation.f b/gcc/testsuite/gfortran.dg/tab_continuation.f
index 85d230774b1..719b03f2586 100644
--- a/gcc/testsuite/gfortran.dg/tab_continuation.f
+++ b/gcc/testsuite/gfortran.dg/tab_continuation.f
@@ -17,4 +17,4 @@ 
 ! { dg-error "Nonconforming tab character in column 1 of line 13" "Nonconforming tab" { target *-*-* } 0 }
 ! { dg-error "Nonconforming tab character in column 1 of line 14" "Nonconforming tab" { target *-*-* } 0 }
 ! { dg-error "Nonconforming tab character in column 1 of line 15" "Nonconforming tab" { target *-*-* } 0 }
-! { dg-excess-errors "some warnings being treated as errors" }
+! { dg-prune-output "some warnings being treated as errors" }
diff --git a/gcc/testsuite/gfortran.dg/typebound_proc_2.f90 b/gcc/testsuite/gfortran.dg/typebound_proc_2.f90
index a34d935eb06..14f01effd0e 100644
--- a/gcc/testsuite/gfortran.dg/typebound_proc_2.f90
+++ b/gcc/testsuite/gfortran.dg/typebound_proc_2.f90
@@ -9,24 +9,23 @@  MODULE testmod
 
   TYPE t
     INTEGER :: x
-  CONTAINS ! { dg-error "Fortran 2003" }
-    PROCEDURE proc1 ! { dg-error "Fortran 2003" }
-    PROCEDURE :: proc2 => p2 ! { dg-error "Fortran 2003" }
-  END TYPE t
+  CONTAINS ! { dg-error "Fortran 2003: CONTAINS block in derived type definition" }
+    PROCEDURE proc1 ! { dg-error "Fortran 2003: PROCEDURE statement" }
+    PROCEDURE :: proc2 => p2 ! { dg-error "Fortran 2003: PROCEDURE statement" }
+  END TYPE t                 ! { dg-error "Fortran 2008: Derived type definition at .1. with empty CONTAINS section" }
 
 CONTAINS
   
-  SUBROUTINE proc1 (me)
+  SUBROUTINE proc1 (me) ! { dg-error "no IMPLICIT type" }
     IMPLICIT NONE
-    TYPE(t1) :: me
+    TYPE(t1) :: me     ! { dg-error "being used before it is defined" }
   END SUBROUTINE proc1
 
-  REAL FUNCTION proc2 (me, x)
+  REAL FUNCTION proc2 (me, x) ! { dg-error "no IMPLICIT type" }
     IMPLICIT NONE
-    TYPE(t1) :: me
+    TYPE(t1) :: me     ! { dg-error "being used before it is defined" }
     REAL :: x
     proc2 = x / 2
   END FUNCTION proc2
 
 END MODULE testmod
-! { dg-excess-errors "no IMPLICIT type" }
diff --git a/gcc/testsuite/gfortran.dg/warnings_are_errors_1.f90 b/gcc/testsuite/gfortran.dg/warnings_are_errors_1.f90
index 150f2346a4f..1f9d38d794f 100644
--- a/gcc/testsuite/gfortran.dg/warnings_are_errors_1.f90
+++ b/gcc/testsuite/gfortran.dg/warnings_are_errors_1.f90
@@ -22,4 +22,4 @@ 
 
        end
 ! { dg-final { output-exists-not } }
-! { dg-excess-errors "warnings being treated as errors" }
+! { dg-prune-output "warnings being treated as errors" }