[PATCH diagnostics/fortran] dynamically generate locations from offset + handle %C

Tobias Burnus burnus@net-b.de
Fri Oct 17 07:25:00 GMT 2014


Manuel López-Ibáñez wrote:
> This patch adds handling of Fortran %C using the common diagnostics
> machinery. This is achieved by dynamically generating a location given
> a location and an offset. This only works for non-macro line-maps (for
> now), but this is OK since Fortran does not have virtual locations
> (and I'm afraid it won't have them in the foreseeable future).
>
> Dodji, are the linemap_asserts() appropriate? I tried to follow your
> previous comments whenever possible.

> Boot&regtested on x86_64-linux-gnu.
> OK?

 From my side, the patch is OK. Thanks again for your diagnostic work 
(for this patch set and in general)!

Tobias

> libcpp/ChangeLog:
>
> 2014-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
>
>      PR fortran/44054
>      * include/line-map.h (linemap_position_for_loc_and_offset):
>      Declare.
>      * line-map.c (linemap_position_for_loc_and_offset): New.
>
>
> gcc/fortran/ChangeLog:
>
> 2014-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
>
>      PR fortran/44054
>      * gfortran.h (warn_use_without_only): Remove.
>      (gfc_diagnostics_finish): Declare.
>      * error.c: Include tree-diagnostics.h
>      (gfc_format_decoder): New.
>      (gfc_diagnostics_init): Use gfc_format_decoder. Set default caret
>      char.
>      (gfc_diagnostics_finish): Restore tree diagnostics defaults, but
>      keep gfc_diagnostics_starter and finalizer. Restore default caret.
>      * options.c: Remove all uses of warn_use_without_only.
>      * lang.opt (Wuse-without-only): Add Var.
>      * module.c (gfc_use_module): Use gfc_warning_now_2.
>      * f95-lang.c (gfc_be_parse_file): Call gfc_diagnostics_finish.
>
> gcc/testsuite/ChangeLog:
>
> 2014-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
>
>      PR fortran/44054
>      * lib/gfortran-dg.exp: Update regexp to match locus and message
>      without caret.
>      * gfortran.dg/use_without_only_1.f90: Add column numbers.



More information about the Gcc-patches mailing list