[PATCH] D63139: [Diagnostics] Implement -Wswitch-unreachable
Dávid Bolvanský via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 18 04:44:42 PDT 2019
xbolva00 added a comment.
In D63139#1547968 <https://reviews.llvm.org/D63139#1547968>, @xbolva00 wrote:
> There is a bug in Clang AST. @rsmith
>
> Check test/Sema/switch-1.c. In C++ mode we have really bad AST:
>
> CompoundStmt 0x55f5b7d68460 <col:14, line:51:3>
> | | |-ReturnStmt 0x55f5b7d68060 <line:17:7, col:14>
> | | | `-IntegerLiteral 0x55f5b7d68040 <col:14> 'int' 1
> | | |-ReturnStmt 0x55f5b7d68120 <line:25:7, col:14>
> | | | `-IntegerLiteral 0x55f5b7d68100 <col:14> 'int' 2
> | | |-ReturnStmt 0x55f5b7d68210 <line:33:7, col:14>
> | | | `-IntegerLiteral 0x55f5b7d681f0 <col:14> 'int' 3
> | | |-ReturnStmt 0x55f5b7d683c0 <line:48:7, col:14>
> | | | `-IntegerLiteral 0x55f5b7d683a0 <col:14> 'int' 4
> | | `-CaseStmt 0x55f5b7d68408 <line:49:5, line:50:14>
> | | |-ConstantExpr 0x55f5b7d683f0 <line:49:10> 'int'
> | | | `-IntegerLiteral 0x55f5b7d683d0 <col:10> 'int' 2147483647
> | | `-ReturnStmt 0x55f5b7d68450 <line:50:7, col:14>
> | | `-IntegerLiteral 0x55f5b7d68430 <col:14> 'int' 0
>
>
>
>
> This is bad and blocks this patch since it creates weird warnings :/
Or... is it acceptable to produce unreachable stmt warning for this cases?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D63139/new/
https://reviews.llvm.org/D63139
More information about the cfe-commits
mailing list