[cfe-commits] r144821 - /cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h

Anna Zaks ganna at apple.com
Wed Nov 16 11:57:59 PST 2011


Author: zaks
Date: Wed Nov 16 13:57:59 2011
New Revision: 144821

URL: http://llvm.org/viewvc/llvm-project?rev=144821&view=rev
Log:
[analyzer] Assert if we ever get an over constrained state.

Modified:
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h

Modified: cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h?rev=144821&r1=144820&r2=144821&view=diff
==============================================================================
--- cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h (original)
+++ cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h Wed Nov 16 13:57:59 2011
@@ -39,8 +39,11 @@
   std::pair<const ProgramState*, const ProgramState*>
     assumeDual(const ProgramState *state, DefinedSVal Cond)
   {
-    return std::make_pair(assume(state, Cond, true),
-                          assume(state, Cond, false));
+    std::pair<const ProgramState*, const ProgramState*> res =
+      std::make_pair(assume(state, Cond, true), assume(state, Cond, false));
+
+    assert(!(!res.first && !res.second) && "System is over constrained.");
+    return res;
   }
 
   virtual const llvm::APSInt* getSymVal(const ProgramState *state,





More information about the cfe-commits mailing list