Remove an assertion in UnreachableCodeChecker that can be triggered by bugs in other checkers.

llvm-svn: 112310
This commit is contained in:
Tom Care 2010-08-27 22:37:31 +00:00
parent c29c91aaaa
commit f7b7067c4d
1 changed files with 5 additions and 2 deletions

View File

@ -188,8 +188,11 @@ const Stmt *UnreachableCodeChecker::getUnreachableStmt(const CFGBlock *CB) {
// There will never be more than one predecessor.
bool UnreachableCodeChecker::isInvalidPath(const CFGBlock *CB,
const ParentMap &PM) {
// Assert this CFGBlock only has one or zero predecessors
assert(CB->pred_size() == 0 || CB->pred_size() == 1);
// We only expect a predecessor size of 0 or 1. If it is >1, then an external
// condition has broken our assumption (for example, a sink being placed by
// another check). In these cases, we choose not to report.
if (CB->pred_size() > 1)
return true;
// If there are no predecessors, then this block is trivially unreachable
if (CB->pred_size() == 0)