re PR c/61405 (Not emitting "enumeration value not handled in switch" warning for...
authorMarek Polacek <polacek@redhat.com>
Wed, 24 Sep 2014 17:23:56 +0000 (17:23 +0000)
committerMarek Polacek <mpolacek@gcc.gnu.org>
Wed, 24 Sep 2014 17:23:56 +0000 (17:23 +0000)
commit083e891e69429f93b958f6c18e2d52f515bae572
tree5828257c837204733ae0f5091cb5468196499f9b
parentdc9c1b91e6be77b710751e935d6c1e09d1f289a1
re PR c/61405 (Not emitting "enumeration value not handled in switch" warning for bit-field enums)

PR c/61405
PR c/53874
gcc/
* asan.c (maybe_instrument_call): Add default case.
* ipa-pure-const.c (special_builtin_state): Likewise.
* predict.c (expr_expected_value_1): Likewise.
* lto-streamer-out.c (write_symbol): Initialize variable.
gcc/c-family/
* c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
gcc/c/
* c-parser.c: Don't define CPP_KEYWORD.
(c_parser_switch_statement): Pass original type to c_finish_case.
* c-tree.h (c_finish_case): Update declaration.
* c-typeck.c (c_finish_case): Add TYPE parameter.  Pass it
conditionally to c_do_switch_warnings.
gcc/cp/
* semantics.c (finish_switch_cond): Call unlowered_expr_type.
* tree.c (bot_manip): Add default case.
* parser.c (cp_parser_primary_expression): Cast the controlling
expression of a switch to an int.
(cp_parser_unqualified_id): Likewise.
gcc/testsuite/
* c-c++-common/pr53874.c: New test.
* c-c++-common/pr61405.c: New test.
libcpp/
* include/cpplib.h (enum cpp_ttype): Define CPP_KEYWORD.

From-SVN: r215559
20 files changed:
gcc/ChangeLog
gcc/asan.c
gcc/c-family/ChangeLog
gcc/c-family/c-common.h
gcc/c/ChangeLog
gcc/c/c-parser.c
gcc/c/c-tree.h
gcc/c/c-typeck.c
gcc/cp/ChangeLog
gcc/cp/parser.c
gcc/cp/semantics.c
gcc/cp/tree.c
gcc/ipa-pure-const.c
gcc/lto-streamer-out.c
gcc/predict.c
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/pr53874.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/pr61405.c [new file with mode: 0644]
libcpp/ChangeLog
libcpp/include/cpplib.h