[Bug c/53874] -Wswitch-enum not properly working with bitfields
mpolacek at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Sep 24 17:24:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53874
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Author: mpolacek
Date: Wed Sep 24 17:23:56 2014
New Revision: 215559
URL: https://gcc.gnu.org/viewcvs?rev=215559&root=gcc&view=rev
Log:
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.
Added:
trunk/gcc/testsuite/c-c++-common/pr53874.c
trunk/gcc/testsuite/c-c++-common/pr61405.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/asan.c
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c-common.h
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-parser.c
trunk/gcc/c/c-tree.h
trunk/gcc/c/c-typeck.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/cp/semantics.c
trunk/gcc/cp/tree.c
trunk/gcc/ipa-pure-const.c
trunk/gcc/lto-streamer-out.c
trunk/gcc/predict.c
trunk/gcc/testsuite/ChangeLog
trunk/libcpp/ChangeLog
trunk/libcpp/include/cpplib.h
More information about the Gcc-bugs
mailing list