aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/GRExprEngine.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2009-07-20 20:38:59 +0000
committerTed Kremenek <kremenek@apple.com>2009-07-20 20:38:59 +0000
commit1ff83399660fcfc6aec810ee6885b382647547a0 (patch)
tree1e81c18dd9c73bceeb24ffcbd3dee27c199b7dce /lib/Analysis/GRExprEngine.cpp
parentec820c6bc49aef01767b5810e765bba853909ef8 (diff)
Add FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76466 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/GRExprEngine.cpp')
-rw-r--r--lib/Analysis/GRExprEngine.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Analysis/GRExprEngine.cpp b/lib/Analysis/GRExprEngine.cpp
index 97e75fa0ac..7459b806e2 100644
--- a/lib/Analysis/GRExprEngine.cpp
+++ b/lib/Analysis/GRExprEngine.cpp
@@ -1310,6 +1310,11 @@ static bool EvalOSAtomicCompareAndSwap(ExplodedNodeSet<GRState>& Dst,
const GRState *stateLoad = N->getState();
SVal theValueVal = stateLoad->getSVal(theValueExpr);
SVal oldValueVal = stateLoad->getSVal(oldValueExpr);
+
+ // FIXME: Issue an error.
+ if (theValueVal.isUndef() || oldValueVal.isUndef()) {
+ return false;
+ }
// Perform the comparison.
SVal Cmp = Engine.EvalBinOp(stateLoad, BinaryOperator::EQ, theValueVal,