re PR c++/39371 (Incorrectly rejects switch((unsigned int)boolvar))
authorJakub Jelinek <jakub@redhat.com>
Mon, 9 Mar 2009 19:34:10 +0000 (20:34 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 9 Mar 2009 19:34:10 +0000 (20:34 +0100)
commit8c30a5105f004e885ae81edbf9c1607547bd4ace
treead67b3505d09efcb012641d1816d48aa0e3e2fdf
parent9a9ba8d9b1292607bc97da712976937c4d81909d
re PR c++/39371 (Incorrectly rejects switch((unsigned int)boolvar))

PR c++/39371
* semantics.c (finish_switch_cond): Don't call get_unwidened.
* decl.c (finish_case_label): Pass SWITCH_STMT_TYPE as 3rd argument
instead of TREE_TYPE (cond).

* g++.dg/opt/switch2.C: Add -w to dg-options.
* g++.dg/warn/Wswitch-1.C: Adjust expected warnings.
* g++.dg/warn/switch1.C: New test.
* g++.dg/other/switch3.C: New test.

From-SVN: r144732
gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/cp/semantics.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/opt/switch2.C
gcc/testsuite/g++.dg/other/switch3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/warn/Wswitch-1.C
gcc/testsuite/g++.dg/warn/switch1.C [new file with mode: 0644]