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 <m...@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 <m...@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 <m...@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.