re PR c++/24924 (front end and preprocessor pedantic_errors settings should agree)
authorManuel López-Ibáñez <manu@gcc.gnu.org>
Sun, 2 Mar 2008 15:45:29 +0000 (15:45 +0000)
committerManuel López-Ibáñez <manu@gcc.gnu.org>
Sun, 2 Mar 2008 15:45:29 +0000 (15:45 +0000)
commit393eda6a41b2b2319868f41a754148bf037f955e
treefe322a3045cc0749a70363f868657cbec06018f4
parent92331508a65e169b0eeb2928312a3394cefe0278
re PR c++/24924 (front end and preprocessor pedantic_errors settings should agree)

2008-03-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR 24924
* c-common.c (flag_permissive): Delete.
(constant_expression_warnings): Check flags first.
(constant_expression_error): New.
* c-common.h (flag_permissive): Delete.
(constant_expression_error): Declare.
* flags.h (flag_permissive): Declare. Update description.
* diagnostic.c (pedwarn): Update.
(permerror): New.
* diagnostic.h: (pedantic_error_kind): Rename as pedantic_warning_kind.
(permissive_error_kind): New.
* toplev.c (flag_permissive): Define. Update description.
* toplev.h (permissive_error_kind): Declare.
* c-errors.c (pedwarn_c99): Use pedantic_warning_kind.
(pedwarn_c90): Use pedantic_warning_kind.
* c-opts.c (c_common_post_options): flag_permissive does not affect
flag_pedantic_errors.
cp/
* class.c (finish_struct_anon): Use permerror instead of pedwarn.
(check_field_decls): Likewise.
(note_name_declared_in_class): Likewise.
* call.c (build_new_op): Likewise.
(convert_like_real): Likewise.
(build_over_call): Likewise.
* lex.c (unqualified_fn_lookup_error): Likewise.
* parser.c (cp_parser_template_id): Likewise.
* cvt.c (warn_ref_binding): Likewise.
(convert_to_reference): Likewise.
(ocp_convert): Likewise.
(convert_to_void): Use error instead of pedwarn.
* error.c (cp_cpp_error): Use pedantic_warning_kind.
* decl.c (compute_array_index_type): Use constant_expression_error.
testsuite/
* g++.dg/cpp/string-2.C: This is a warning now.
* g++.dg/cpp/pedantic-errors.C: -pedantic-errors is not enabled by
default, so add it.

From-SVN: r132817
21 files changed:
gcc/ChangeLog
gcc/c-common.c
gcc/c-common.h
gcc/c-errors.c
gcc/c-opts.c
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/class.c
gcc/cp/cvt.c
gcc/cp/decl.c
gcc/cp/error.c
gcc/cp/lex.c
gcc/cp/parser.c
gcc/diagnostic.c
gcc/diagnostic.h
gcc/flags.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp/pedantic-errors.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp/string-2.C
gcc/toplev.c
gcc/toplev.h