[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®tested 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