aboutsummaryrefslogtreecommitdiff
path: root/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2012-04-30 02:36:29 +0000
committerDavid Blaikie <dblaikie@gmail.com>2012-04-30 02:36:29 +0000
commit262bc18e32500558af7cb0afa205b34bd37bafed (patch)
tree6948b171ad9895169475e9f5808700781231a710 /lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
parent298038352b34c5503db418201f3ddea6e56fd0e1 (diff)
Remove the ref/value inconsistency in filter_decl_iterator.
filter_decl_iterator had a weird mismatch where both op* and op-> returned T* making it difficult to generalize this filtering behavior into a reusable library of any kind. This change errs on the side of value, making op-> return T* and op* return T&. (reviewed by Richard Smith) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155808 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp')
-rw-r--r--lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp b/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
index d0558f1af4..45be5db10c 100644
--- a/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
+++ b/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
@@ -845,9 +845,9 @@ SVal SimpleSValBuilder::evalBinOpLL(ProgramStateRef state,
bool leftFirst = (op == BO_LT || op == BO_LE);
for (RecordDecl::field_iterator I = RD->field_begin(),
E = RD->field_end(); I!=E; ++I) {
- if (*I == LeftFD)
+ if (&*I == LeftFD)
return makeTruthVal(leftFirst, resultTy);
- if (*I == RightFD)
+ if (&*I == RightFD)
return makeTruthVal(!leftFirst, resultTy);
}