+2005-02-20 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * gfortran.dg/do_iterator: Split loop, markup all lines for
+ which an error locus is printed.
+ * gfortran.dg/pr17708.f90: Markup all lines for which an error
+ locus is printed.
+ * gfortran.dg/select_4.f90: Likewise.
+ * lib/gfortran-dg.exp (gfortran-dg-test): Handle gfortran error
+ locuses in the various permutations.
+
2005-02-20 Dorit Naishlos <dorit@il.ibm.com>
PR tree-optimization/19951
! { dg-do compile }
! various checks which verify that we don't change do-iterators
-DO I=1,5
- I=1 ! { dg-error "cannot be redefined" "changing do-iterator 1" }
+DO I=1,5 ! { dg-error "cannot be redefined" "changing do-iterator 1" }
+ I=1 ! { dg-error "cannot be redefined" "changing do-iterator 1" }
+END DO
+DO I=1,5 ! { dg-error "cannot be redefined" "changing do-iterator 2" }
READ(5,*) I ! { dg-error "cannot be redefined" "changing do-iterator 2" }
+END DO
+DO I=1,5 ! { dg-error "cannot be redefined" "changing do-iterator 3" }
READ(5,*,iostat=i) j ! { dg-error "cannot be redefined" "changing do-iterator 3" }
ENDDO
END
program select_5
integer i
select case(i)
- case (20:30)
- case (25:) ! { dg-error "overlaps with CASE" "" }
+ case (20:30) ! { dg-error "overlaps with CASE" }
+ case (25:) ! { dg-error "overlaps with CASE" }
end select
select case(i)
- case (30)
- case (25:) ! { dg-error "overlaps with CASE" "" }
+ case (30) ! { dg-error "overlaps with CASE" }
+ case (25:) ! { dg-error "overlaps with CASE" }
end select
select case(i)
- case (20:30)
- case (25) ! { dg-error "overlaps with CASE" "" }
+ case (20:30) ! { dg-error "overlaps with CASE" }
+ case (25) ! { dg-error "overlaps with CASE" }
end select
end program select_5
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
set comp_output [lindex $result 0]
set output_file [lindex $result 1]
- # Put the error message on the same line as the line number
- # FIXME: Add a colon after line number
- # Remove the line of source code with the error and
- # the number pointing to error
- regsub -all "\n\n\[^\n\]*\n *\[0-9\]*\n" $comp_output ": " comp_output
+ # gfortran error messages look like this:
+ # In file [name]:[line]
+ #
+ # some code
+ # 1
+ # Error: Some error at (1) and (2)
+ # or
+ # In file [name]:[line]
+ #
+ # some code
+ # 1
+ # In file [name]:[line2]
+ #
+ # some other code
+ # 2
+ # Error: Some error at (1) and (2)
+ # or
+ # In file [name]:[line]
+ #
+ # some code and some more code
+ # 1 2
+ # Error: Some error at (1) and (2)
+ #
+ # We collapse these to look like:
+ # [name]:[line]: Error: Some error at (1) and (2)
+ # or
+ # [name]:[line]: Error: Some error at (1) and (2)
+ # [name]:[line2]: Error: Some error at (1) and (2)
+ # We proceed in two steps: first we deal with the form with two
+ # different locus lines, then with the form with only one locus line.
+ regsub -all " In file (\[^\n\]*)\n\n\[^\n\]*\n\[^\n\]*\n In file (\[^\n\]*)\n\n\[^\n\]*\n\[^\n\]*\n(\[^\n\]*)\n" $comp_output "\\1: \\3\n\\2: \\3\n" comp_output
+ regsub -all " In file (\[^\n\]*)\n\n\[^\n\]*\n\[^\n\]*\n(\[^\n\]*)\n" $comp_output "\\1: \\2\n" comp_output
return [list $comp_output $output_file]
}