------- Comment #10 from jsm28 at gcc dot gnu dot org  2009-03-29 22:56 -------
Subject: Bug 34695

Author: jsm28
Date: Sun Mar 29 22:56:07 2009
New Revision: 145263

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145263
Log:
        PR preprocessor/34695

gcc:
        * Makefile.in (c-opts.o): Depend on c-tree.h.
        * c-common.c: Move down include of diagnostic.h.
        (done_lexing, c_cpp_error): New.
        * c-common.h (done_lexing): Declare.
        * c-decl.c (c_write_global_declarations): Don't check cpp_errors
        (parse_in).
        * c-opts.c: Include c-tree.h.
        (c_common_init_options): Set preprocessor error callback.
        (c_common_handle_option): Do not set preprocessor
        inhibit_warnings, warnings_are_errors, warn_system_headers,
        pedantic_errors or inhibit_warnings flags.
        (c_common_post_options): Do not check cpp_errors (parse_in).
        (c_common_finish): Do not output dependencies if there were
        errors.  Do not check return value of cpp_finish.
        * c-ppoutput.c (pp_file_change): Set input_location.
        * c-tree.h (c_cpp_error): Declare.
        * diagnostic.c (diagnostic_set_info_translated): Also initialize
        override_column.
        (diagnostic_build_prefix): Check override_column.
        * diagnostic.h (diagnostic_info): Add override_column field.
        (diagnostic_override_column): Define.

gcc/cp:
        * cp-tree.h (cp_cpp_error): Remove.
        * error.c (cp_cpp_error): Remove.
        * parser.c (cp_lexer_new_main): Set done_lexing instead of
        client_diagnostic and error callback.

gcc/fortran:
        * cpp.c (cb_cpp_error): New.
        (gfc_cpp_post_options): Don't set cpp_option->inhibit_warnings.
        Don't check cpp_errors (cpp_in).
        (gfc_cpp_init_0): Set cb->error.

gcc/testsuite:
        * gcc.dg/builtin-redefine.c, gcc.dg/cpp/redef2.c,
        gcc.dg/cpp/redef3.c, gcc.dg/cpp/trad/redef2.c: Use dg-message
        instead of dg-warning for "previous definition" messages.
        * gcc.dg/cpp/Wvariadic-1.c, gcc.dg/cpp/Wvariadic-3.c: Expect
        "warnings being treated as errors" message.
        * gcc.dg/fltconst-1.c: Use -fshow-column.

libcpp:
        * makedepend.c: Remove.
        * Makefile.in (makedepend_OBJS, makedepend$(EXEEXT)): Remove.
        (all, clean, TAGS_SOURCES, include): Remove makedepend handling.
        * directives.c (cpp_errors): Remove.
        * errors.c (print_location, _cpp_begin_message, v_message):
        Remove.
        (cpp_error, cpp_error_with_line): Always use error callback.
        (cpp_error, cpp_error_with_line, cpp_errno): Return bool.
        * include/cpplib.h (cpp_options): Remove pedantic_errors,
        inhibit_warnings, warn_system_headers, inhibit_errors,
        warnings_are_errors, client_diagnostic.
        (cpp_callbacks): Add extra arguments to error callback; make it
        return bool.
        (cpp_finish): Return void.
        (cpp_destroy): Remove inaccurate comment about return value.
        (cpp_errors, CPP_DL_EXTRACT, CPP_DL_WARNING_P): Remove.
        (CPP_DL_NOTE): Define.
        * include/line-map.h (linemap_print_containing_files): Remove.
        * init.c (cpp_finish): Do not check for or return number of
        errors.
        * internal.h (cpp_reader): Remove errors field.
        * line-map.c (linemap_print_containing_files): Remove.
        * macro.c (_cpp_create_definition): Use CPP_DL_NOTE for message
        about previous definition.  Only emit it if previous diagnostic
        was emitted.

Removed:
    trunk/libcpp/makedepend.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/Makefile.in
    trunk/gcc/c-common.c
    trunk/gcc/c-common.h
    trunk/gcc/c-decl.c
    trunk/gcc/c-opts.c
    trunk/gcc/c-ppoutput.c
    trunk/gcc/c-tree.h
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/error.c
    trunk/gcc/cp/parser.c
    trunk/gcc/diagnostic.c
    trunk/gcc/diagnostic.h
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/cpp.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/builtin-redefine.c
    trunk/gcc/testsuite/gcc.dg/cpp/Wvariadic-1.c
    trunk/gcc/testsuite/gcc.dg/cpp/Wvariadic-3.c
    trunk/gcc/testsuite/gcc.dg/cpp/redef2.c
    trunk/gcc/testsuite/gcc.dg/cpp/redef3.c
    trunk/gcc/testsuite/gcc.dg/cpp/trad/redef2.c
    trunk/gcc/testsuite/gcc.dg/fltconst-1.c
    trunk/libcpp/ChangeLog
    trunk/libcpp/Makefile.in
    trunk/libcpp/directives.c
    trunk/libcpp/errors.c
    trunk/libcpp/include/cpplib.h
    trunk/libcpp/include/line-map.h
    trunk/libcpp/init.c
    trunk/libcpp/internal.h
    trunk/libcpp/line-map.c
    trunk/libcpp/macro.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34695

Reply via email to