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

--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Author: mpolacek
Date: Sun Aug 10 06:10:49 2014
New Revision: 213786

URL: https://gcc.gnu.org/viewcvs?rev=213786&root=gcc&view=rev
Log:
    PR c/51849
gcc/
    * gcc/doc/invoke.texi: Document -Wc90-c99-compat.
gcc/c-family/
    * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
    * c.opt (Wc90-c99-compat): Add option.
gcc/c/
    * c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
    Call pedwarn_c90 instead of pedwarn.
    (check_bitfield_type_and_width): Likewise.
    (declspecs_add_qual): Likewise.
    (declspecs_add_type): Likewise.
    (warn_variable_length_array): Unify function for -pedantic and -Wvla.
    Adjust to only call pedwarn_c90.
    (grokdeclarator): Remove pedantic && !flag_isoc99 check.  Call
    pedwarn_c90 instead of pedwarn.
    * c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
    * c-parser.c (disable_extension_diagnostics): Handle
    warn_c90_c99_compat.
    (restore_extension_diagnostics): Likewise.
    (c_parser_enum_specifier): Remove check for !flag_isoc99.  Call
    pedwarn_c90 instead of pedwarn.
    (c_parser_initelt): Likewise.
    (c_parser_postfix_expression): Likewise.
    (c_parser_postfix_expression_after_paren_type): Likewise.
    (c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
    * c-tree.h: Fix formatting.
    * c-typeck.c (build_array_ref): Remove check for !flag_isoc99.  Call
    pedwarn_c90 instead of pedwarn.
gcc/testsuite/
    * gcc.dg/Wc90-c99-compat-1.c: New test.
    * gcc.dg/Wc90-c99-compat-2.c: New test.
    * gcc.dg/Wc90-c99-compat-3.c: New test.
    * gcc.dg/Wc90-c99-compat-4.c: New test.
    * gcc.dg/Wc90-c99-compat-5.c: New test.
    * gcc.dg/Wc90-c99-compat-6.c: New test.
    * gcc.dg/wvla-1.c: Adjust dg-warning.
    * gcc.dg/wvla-2.c: Adjust dg-warning.
    * gcc.dg/wvla-4.c: Adjust dg-warning.
    * gcc.dg/wvla-6.c: Adjust dg-warning.
libcpp/
    * lex.c (_cpp_lex_direct): Warn when -Wc90-c99-compat is in effect.
    * charset.c (_cpp_valid_ucn): Likewise.
    * include/cpplib.h (cpp_options): Add cpp_warn_c90_c99_compat.
    * macro.c (replace_args): Warn when -Wc90-c99-compat is in effect.
    (parse_params): Likewise.

Added:
    trunk/gcc/testsuite/gcc.dg/Wc90-c99-compat-1.c
    trunk/gcc/testsuite/gcc.dg/Wc90-c99-compat-2.c
    trunk/gcc/testsuite/gcc.dg/Wc90-c99-compat-3.c
    trunk/gcc/testsuite/gcc.dg/Wc90-c99-compat-4.c
    trunk/gcc/testsuite/gcc.dg/Wc90-c99-compat-5.c
    trunk/gcc/testsuite/gcc.dg/Wc90-c99-compat-6.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-opts.c
    trunk/gcc/c-family/c.opt
    trunk/gcc/c/ChangeLog
    trunk/gcc/c/c-decl.c
    trunk/gcc/c/c-errors.c
    trunk/gcc/c/c-parser.c
    trunk/gcc/c/c-tree.h
    trunk/gcc/c/c-typeck.c
    trunk/gcc/doc/invoke.texi
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/wvla-1.c
    trunk/gcc/testsuite/gcc.dg/wvla-2.c
    trunk/gcc/testsuite/gcc.dg/wvla-4.c
    trunk/gcc/testsuite/gcc.dg/wvla-6.c
    trunk/libcpp/ChangeLog
    trunk/libcpp/charset.c
    trunk/libcpp/include/cpplib.h
    trunk/libcpp/lex.c
    trunk/libcpp/macro.c

Reply via email to