[cfe-commits] r112310 - /cfe/trunk/lib/Checker/UnreachableCodeChecker.cpp
Ted Kremenek
kremenek at apple.com
Fri Aug 27 16:02:48 PDT 2010
Bugs in other checkers or bugs found by other checkers?
On Aug 27, 2010, at 3:37 PM, Tom Care wrote:
> Author: tcare
> Date: Fri Aug 27 17:37:31 2010
> New Revision: 112310
>
> URL: http://llvm.org/viewvc/llvm-project?rev=112310&view=rev
> Log:
> Remove an assertion in UnreachableCodeChecker that can be triggered by bugs in other checkers.
>
> Modified:
> cfe/trunk/lib/Checker/UnreachableCodeChecker.cpp
>
> Modified: cfe/trunk/lib/Checker/UnreachableCodeChecker.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/UnreachableCodeChecker.cpp?rev=112310&r1=112309&r2=112310&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Checker/UnreachableCodeChecker.cpp (original)
> +++ cfe/trunk/lib/Checker/UnreachableCodeChecker.cpp Fri Aug 27 17:37:31 2010
> @@ -188,8 +188,11 @@
> // 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)
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list