aboutsummaryrefslogtreecommitdiff
path: root/lib/StaticAnalyzer/Core
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
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')
-rw-r--r--lib/StaticAnalyzer/Core/MemRegion.cpp2
-rw-r--r--lib/StaticAnalyzer/Core/RegionStore.cpp6
-rw-r--r--lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp4
3 files changed, 6 insertions, 6 deletions
diff --git a/lib/StaticAnalyzer/Core/MemRegion.cpp b/lib/StaticAnalyzer/Core/MemRegion.cpp
index ed94c79df1..1969ebd435 100644
--- a/lib/StaticAnalyzer/Core/MemRegion.cpp
+++ b/lib/StaticAnalyzer/Core/MemRegion.cpp
@@ -1016,7 +1016,7 @@ RegionOffset MemRegion::getAsOffset() const {
unsigned idx = 0;
for (RecordDecl::field_iterator FI = RD->field_begin(),
FE = RD->field_end(); FI != FE; ++FI, ++idx)
- if (FR->getDecl() == *FI)
+ if (FR->getDecl() == &*FI)
break;
const ASTRecordLayout &Layout = getContext().getASTRecordLayout(RD);
diff --git a/lib/StaticAnalyzer/Core/RegionStore.cpp b/lib/StaticAnalyzer/Core/RegionStore.cpp
index e849333f94..d5db03d7ce 100644
--- a/lib/StaticAnalyzer/Core/RegionStore.cpp
+++ b/lib/StaticAnalyzer/Core/RegionStore.cpp
@@ -1646,11 +1646,11 @@ StoreRef RegionStoreManager::BindStruct(Store store, const TypedValueRegion* R,
break;
// Skip any unnamed bitfields to stay in sync with the initializers.
- if ((*FI)->isUnnamedBitfield())
+ if (FI->isUnnamedBitfield())
continue;
- QualType FTy = (*FI)->getType();
- const FieldRegion* FR = MRMgr.getFieldRegion(*FI, R);
+ QualType FTy = FI->getType();
+ const FieldRegion* FR = MRMgr.getFieldRegion(&*FI, R);
if (FTy->isArrayType())
newStore = BindArray(newStore.getStore(), FR, *VI);
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);
}