diff options
Diffstat (limited to 'clang/lib/Sema')
| -rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index d81e187bb30..b308613a46f 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -1339,24 +1339,21 @@ static SourceLocation GetUnreachableLoc(CFGBlock &b) { switch (S->getStmtClass()) { case Expr::BinaryOperatorClass: { - BinaryOperator *Op = cast<BinaryOperator>(S); - if (Op->getOpcode() == BinaryOperator::Comma) { - if (b.size() < 2) { - CFGBlock *n = &b; - while (1) { - if (n->getTerminator()) - return n->getTerminator()->getLocStart(); - if (n->succ_size() != 1) - return SourceLocation(); - n = n[0].succ_begin()[0]; - if (n->pred_size() != 1) - return SourceLocation(); - if (!n->empty()) - return n[0][0].getStmt()->getLocStart(); - } + if (b.size() < 2) { + CFGBlock *n = &b; + while (1) { + if (n->getTerminator()) + return n->getTerminator()->getLocStart(); + if (n->succ_size() != 1) + return SourceLocation(); + n = n[0].succ_begin()[0]; + if (n->pred_size() != 1) + return SourceLocation(); + if (!n->empty()) + return n[0][0].getStmt()->getLocStart(); } - return b[1].getStmt()->getLocStart(); } + return b[1].getStmt()->getLocStart(); } default: ; } |

