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.

Reply via email to