]> git.ipfire.org Git - thirdparty/gcc.git/commit - libcpp/ChangeLog
re PR preprocessor/34695 (Preprocessor warning->error conversion from -Werror is...
authorJoseph Myers <joseph@codesourcery.com>
Sun, 29 Mar 2009 22:56:07 +0000 (23:56 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Sun, 29 Mar 2009 22:56:07 +0000 (23:56 +0100)
commit148e4216a47b822512444dbd3ca5e2670aef431c
treee75993fadfb11c86fc56a516f41f7aafb3fee001
parentba20e30910df3945603374d426730d6da5350572
re PR preprocessor/34695 (Preprocessor warning->error conversion from -Werror is silent)

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.

From-SVN: r145263
35 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/c-common.c
gcc/c-common.h
gcc/c-decl.c
gcc/c-opts.c
gcc/c-ppoutput.c
gcc/c-tree.h
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/error.c
gcc/cp/parser.c
gcc/diagnostic.c
gcc/diagnostic.h
gcc/fortran/ChangeLog
gcc/fortran/cpp.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/builtin-redefine.c
gcc/testsuite/gcc.dg/cpp/Wvariadic-1.c
gcc/testsuite/gcc.dg/cpp/Wvariadic-3.c
gcc/testsuite/gcc.dg/cpp/redef2.c
gcc/testsuite/gcc.dg/cpp/redef3.c
gcc/testsuite/gcc.dg/cpp/trad/redef2.c
gcc/testsuite/gcc.dg/fltconst-1.c
libcpp/ChangeLog
libcpp/Makefile.in
libcpp/directives.c
libcpp/errors.c
libcpp/include/cpplib.h
libcpp/include/line-map.h
libcpp/init.c
libcpp/internal.h
libcpp/line-map.c
libcpp/macro.c
libcpp/makedepend.c [deleted file]