This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]