This is the mail archive of the gcc-bugs@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]

[Bug fortran/44054] Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44054

--- Comment #25 from Manuel LÃpez-IbÃÃez <manu at gcc dot gnu.org> ---
Author: manu
Date: Sat May 16 12:31:00 2015
New Revision: 223237

URL: https://gcc.gnu.org/viewcvs?rev=223237&root=gcc&view=rev
Log:
gcc/fortran/ChangeLog:

2015-05-16  Manuel LÃpez-IbÃÃez  <manu@gcc.gnu.org>

        PR fortran/44054

        Replace all calls to gfc_notify_std_1 with gfc_notify_std and
        gfc_warning_1 with gfc_warning.
        * decl.c (gfc_verify_c_interop_param): Here.
        * resolve.c (resolve_branch): Here.
        (resolve_fl_derived): Here.
        * dependency.c (gfc_check_argument_var_dependency):
        * scanner.c (preprocessor_line): Use gfc_warning_now_at. Fix line
        counter and locations before and after warning.
        * gfortran.h (gfc_warning_1, gfc_warning_now_1, gfc_notify_std_1):
        Delete.
        (gfc_warning_now_at): Declare.
        * error.c (gfc_warning_1): Delete.
        (gfc_notify_std_1): Delete.
        (gfc_warning_now_1): Delete.
        (gfc_format_decoder): Handle two locations.
        (gfc_diagnostic_build_prefix): Rename as
        gfc_diagnostic_build_kind_prefix.
        (gfc_diagnostic_build_locus_prefix): Take an expanded_location
        instead of diagnostic_info.
        (gfc_diagnostic_build_locus_prefix): Add overload that takes two
        expanded_location.
        (gfc_diagnostic_starter): Handle two locations.
        (gfc_warning_now_at): New.
        (gfc_diagnostics_init): Initialize caret_chars array.
        (gfc_diagnostics_finish): Reset caret_chars array to default.

gcc/cp/ChangeLog:

2015-05-16  Manuel LÃpez-IbÃÃez  <manu@gcc.gnu.org>

        PR fortran/44054
        * error.c (cp_diagnostic_starter): Use diagnostic_location
        function.
        (cp_print_error_function): Likewise.
        (cp_printer): Replace locus pointer with accessor function.

gcc/c/ChangeLog:

2015-05-16  Manuel LÃpez-IbÃÃez  <manu@gcc.gnu.org>

        PR fortran/44054
        * c-objc-common.c (c_tree_printer): Replace locus pointer with
        accessor function.

gcc/ChangeLog:

2015-05-16  Manuel LÃpez-IbÃÃez  <manu@gcc.gnu.org>

        PR fortran/44054
        * tree-pretty-print.c (percent_K_format): Replace locus pointer
        with accessor function.
        * tree-diagnostic.c (diagnostic_report_current_function): Use
        diagnostic_location function.
        (maybe_unwind_expanded_macro_loc): Likewise.
        (virt_loc_aware_diagnostic_finalizer): Likewise.
        (default_tree_printer): Replace locus pointer with accessor function.
        * diagnostic.c (diagnostic_initialize): Initialize caret_chars array.
        (diagnostic_set_info_translated): Initialize second location.
        (diagnostic_build_prefix): Use CARET_LINE_MARGIN.
        (diagnostic_show_locus): Handle two locations. Call
        diagnostic_print_caret_line.
        (diagnostic_print_caret_line): New.
        (default_diagnostic_starter): Use diagnostic_location function.
        (diagnostic_report_diagnostic): Use diagnostic_location function.
        (verbatim): Do not set text.locus.
        * diagnostic.h (struct diagnostic_info): Remove location field.
        (struct diagnostic_context): Make caret_chars an array of two.
        (diagnostic_location): New inline.
        (diagnostic_expand_location): Handle two locations.
        (diagnostic_same_line): New inline.
        (diagnostic_print_caret_line): Declare.
        (CARET_LINE_MARGIN): New constant.
        * pretty-print.c (pp_printf): Do not set text.locus.
        (pp_verbatim): Do not set text.locus.
        * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant.
        (struct text_info): Replace locus pointer with locations
        array. Add accessor functions.

gcc/testsuite/ChangeLog:

2015-05-16  Manuel LÃpez-IbÃÃez  <manu@gcc.gnu.org>

        PR fortran/44054
        * lib/gfortran-dg.exp: Update regex to handle two locations for
        the same diagnostic without caret.
        * gfortran.dg/badline.f: Test also that line numbers are correct
        before and after "left but not entered" warning.



Modified:
    trunk/gcc/c/c-objc-common.c
    trunk/gcc/cp/error.c
    trunk/gcc/diagnostic.c
    trunk/gcc/diagnostic.h
    trunk/gcc/fortran/decl.c
    trunk/gcc/fortran/dependency.c
    trunk/gcc/fortran/error.c
    trunk/gcc/fortran/gfortran.h
    trunk/gcc/fortran/resolve.c
    trunk/gcc/fortran/scanner.c
    trunk/gcc/pretty-print.c
    trunk/gcc/pretty-print.h
    trunk/gcc/testsuite/gfortran.dg/badline.f
    trunk/gcc/testsuite/lib/gfortran-dg.exp
    trunk/gcc/tree-diagnostic.c
    trunk/gcc/tree-pretty-print.c

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