Manuel López-Ibáñez wrote:
In any case, the current patch fixes these ICEs and I couldn't trigger
new ones. Bootstrapped and regression tested.
OK for Fortran?
OK. Thanks.
* * *
BTW: The output of the code changes with the common diagnostic. For a
different test case, I get (old)
-------------------------
print *, "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
", "jgk
1
Warning: Nonconforming tab character at (1)
-------------------------
while the new code gives:
-------------------------
print *, "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
", "jgkg"
1
Warning: Nonconforming tab character at (1) [-Wtabs]
-------------------------
Namely, the previous code trims the output to show only the code around
the error location while the common-diagnostics code shows the whole line.
(That's normally not observable as the lines are short. That makes the ^
or rather (1) look rather misplaced. On the other hand, if the error
location is misplaced, it is actually better; e.g. if a comment is at
the end like the long "! {dg-error ...}", the location might point at
the end of the comment, which is rather misplaced. Still, only showing
part of the line probably makes sense in general.)
Tobias
gcc/fortran/ChangeLog:
2014-12-02 Manuel López-Ibáñez <m...@gcc.gnu.org>
* scanner.c (gfc_next_char_literal): Use gfc_warning_now.
(load_file): Use the line length as the column hint for
linemap_line_start. Reserve a location for the highest column of
the line.
gcc/testsuite/ChangeLog:
2014-12-02 Manuel López-Ibáñez <m...@gcc.gnu.org>
* gfortran.dg/line_length_5.f90: New test.