Implement -Wimplicit-fallthrough. 79/189279/2
authormpolacek <mpolacek@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 26 Sep 2016 09:42:50 +0000 (09:42 +0000)
committerMikhail Kashkarov <m.kashkarov@partner.samsung.com>
Thu, 18 Oct 2018 13:20:08 +0000 (16:20 +0300)
commit6d1c5ce03b4989731c4579153742aab078160720
tree0ba60a9ac206c4f54ec5e669f15c4025f8c6a6fc
parent76ce3f74c08305e293e970dc282f84756f14af28
Implement -Wimplicit-fallthrough.

With fixes for tizen linaro-gcc by Dmitriy Gonzha.
Not fully implement implicit-fallthrough. Some tests are fail.
Because of possible errors turned off from -Wextra and renamed to
"-Wimplicit-fallthrough-disabled".
Required for -fsanitize-address-use-after-scope

Change-Id: I088b82dce350c017ecb3933c1cba3b2b01dde3f7
upstream hash: 3c77f69c50d3377491c917808fbfc4b9787acd6f
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240485 138bc75d-0d04-0410-961f-82ee72b054a4
74 files changed:
gcc/Makefile.in
gcc/builtins.c
gcc/c-family/c-common.c
gcc/c-family/c-common.h
gcc/c/c-decl.c
gcc/c/c-parser.c
gcc/common.opt
gcc/config/rs6000/rs6000.c
gcc/convert.c
gcc/cp/constexpr.c
gcc/cp/constraint.cc
gcc/cp/parser.c
gcc/cp/pt.c
gcc/cp/semantics.c
gcc/cp/typeck.c
gcc/doc/extend.texi
gcc/doc/invoke.texi
gcc/final.c
gcc/fortran/arith.c
gcc/fortran/frontend-passes.c
gcc/fortran/parse.c
gcc/fortran/primary.c
gcc/fortran/trans-array.c
gcc/fortran/trans-expr.c
gcc/genattrtab.c
gcc/genpreds.c
gcc/gimple-ssa-strength-reduction.c
gcc/gimple.h
gcc/gimplify.c
gcc/godump.c
gcc/internal-fn.c
gcc/internal-fn.def
gcc/langhooks.c
gcc/langhooks.h
gcc/reload1.c
gcc/resource.c
gcc/system.h
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-1.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-10.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-11.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-12.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-13.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-14.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-15.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-16.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-17.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-18.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-19.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-2.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-20.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-21.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-3.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-4.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-5.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-6.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-7.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-8.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/Wimplicit-fallthrough-9.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/attr-fallthrough-1.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/attr-fallthrough-2.c [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/fallthrough1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/fallthrough2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp1z/fallthrough1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/warn/Wunused-label-1.C
gcc/testsuite/gcc.dg/Wimplicit-fallthrough-1.c [new file with mode: 0644]
gcc/testsuite/obj-c++.dg/Wimplicit-fallthrough-1.mm [new file with mode: 0644]
gcc/testsuite/objc.dg/Wimplicit-fallthrough-1.m [new file with mode: 0644]
gcc/tree-core.h
gcc/tree-ssa-loop-ivopts.c
gcc/tree.h
gcc/varasm.c
libcpp/include/cpplib.h
libcpp/lex.c
libstdc++-v3/libsupc++/hash_bytes.cc