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:
Chris Lattner 2011-02-28 01:06:02 +00:00
Родитель 3858938b04
Коммит 035287d739
2 изменённых файлов: 14 добавлений и 3 удалений

Просмотреть файл

@ -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;
}