PR c/49859
commit1398da0f786e120bb0b407e84f412aa9fc6d80ee
authormpolacek <mpolacek@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 23 May 2016 15:37:09 +0000 (23 15:37 +0000)
committermpolacek <mpolacek@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 23 May 2016 15:37:09 +0000 (23 15:37 +0000)
treed51176bb0505d6371f073a25030266ac0a853be1
parent84c1a54dea2e39c012a11b49a898ed3773d3587b
PR c/49859
* common.opt (Wswitch-unreachable): New option.
* doc/invoke.texi: Document -Wswitch-unreachable.
* gimplify.c (gimplify_switch_expr): Implement the -Wswitch-unreachable
warning.

* c-c++-common/Wswitch-unreachable-1.c: New test.
* gcc.dg/Wswitch-unreachable-1.c: New test.
* c-c++-common/goacc/sb-2.c (void foo): Add dg-warning.
* g++.dg/cpp0x/lambda/lambda-switch.C (main): Likewise.
* g++.dg/gomp/block-10.C: Likewise.
* gcc.dg/gomp/block-10.c: Likewise.
* g++.dg/gomp/block-9.C: Likewise.
* gcc.dg/gomp/block-9.c: Likewise.
* g++.dg/gomp/target-1.C: Likewise.
* g++.dg/gomp/target-2.C: Likewise.
* gcc.dg/gomp/target-1.c: Likewise.
* gcc.dg/gomp/target-2.c: Likewise.
* g++.dg/gomp/taskgroup-1.C: Likewise.
* gcc.dg/gomp/taskgroup-1.c: Likewise.
* gcc.dg/gomp/teams-1.c: Likewise.
* g++.dg/gomp/teams-1.C: Likewise.
* g++.dg/overload/error3.C: Likewise.
* g++.dg/tm/jump1.C: Likewise.
* g++.dg/torture/pr40335.C: Likewise.
* gcc.dg/c99-vla-jump-5.c: Likewise.
* gcc.dg/switch-warn-1.c: Likewise.
* gcc.dg/Wjump-misses-init-1.c: Use -Wno-switch-unreachable.
* gcc.dg/nested-func-1.c: Likewise.
* gcc.dg/pr67784-4.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236597 138bc75d-0d04-0410-961f-82ee72b054a4
29 files changed:
gcc/ChangeLog
gcc/common.opt
gcc/doc/invoke.texi
gcc/gimplify.c
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/Wswitch-unreachable-1.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/goacc/sb-2.c
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-switch.C
gcc/testsuite/g++.dg/gomp/block-10.C
gcc/testsuite/g++.dg/gomp/block-9.C
gcc/testsuite/g++.dg/gomp/target-1.C
gcc/testsuite/g++.dg/gomp/target-2.C
gcc/testsuite/g++.dg/gomp/taskgroup-1.C
gcc/testsuite/g++.dg/gomp/teams-1.C
gcc/testsuite/g++.dg/overload/error3.C
gcc/testsuite/g++.dg/tm/jump1.C
gcc/testsuite/g++.dg/torture/pr40335.C
gcc/testsuite/gcc.dg/Wjump-misses-init-1.c
gcc/testsuite/gcc.dg/Wswitch-unreachable-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/c99-vla-jump-5.c
gcc/testsuite/gcc.dg/gomp/block-10.c
gcc/testsuite/gcc.dg/gomp/block-9.c
gcc/testsuite/gcc.dg/gomp/target-1.c
gcc/testsuite/gcc.dg/gomp/target-2.c
gcc/testsuite/gcc.dg/gomp/taskgroup-1.c
gcc/testsuite/gcc.dg/gomp/teams-1.c
gcc/testsuite/gcc.dg/nested-func-1.c
gcc/testsuite/gcc.dg/pr67784-4.c
gcc/testsuite/gcc.dg/switch-warn-1.c