зеркало из https://github.com/microsoft/clang-1.git
remove a bogus assertion, add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126603 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
3858938b04
Коммит
035287d739
|
@ -857,9 +857,6 @@ static CSFC_Result CollectStatementsForCase(const Stmt *S,
|
|||
const SwitchCase *Case,
|
||||
bool &FoundCase,
|
||||
llvm::SmallVectorImpl<const Stmt*> &ResultStmts) {
|
||||
assert((!FoundCase || Case == 0) &&
|
||||
"Can't be looking for the case if we already found it!");
|
||||
|
||||
// If this is a null statement, just succeed.
|
||||
if (S == 0)
|
||||
return Case ? CSFC_Success : CSFC_FallThrough;
|
||||
|
@ -942,6 +939,7 @@ static CSFC_Result CollectStatementsForCase(const Stmt *S,
|
|||
// just verify it doesn't have labels, which would make it invalid to elide.
|
||||
if (Case) {
|
||||
if (CodeGenFunction::ContainsLabel(S, true) ||
|
||||
// Don't skip over DeclStmts, which can be used even if skipped over.
|
||||
isa<DeclStmt>(S))
|
||||
return CSFC_Failure;
|
||||
return CSFC_Success;
|
||||
|
|
|
@ -167,3 +167,16 @@ void test9(int i) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
int test10(void) {
|
||||
switch(8) {
|
||||
case 8:
|
||||
break;
|
||||
case 4:
|
||||
break;
|
||||
default:
|
||||
dead();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче