summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-11-11 19:39:47 +0000
committerTed Kremenek <kremenek@apple.com>2008-11-11 19:39:47 +0000
commit1d7f2fcda8420823f5f5e04216ebe468c4041696 (patch)
tree7432215fbd21dcf3efcc86b9623531ebae16386a /clang
parent7db0a21b7b04518f12144dc1acf9b9469f53f904 (diff)
downloadbcm5719-llvm-1d7f2fcda8420823f5f5e04216ebe468c4041696.tar.gz
bcm5719-llvm-1d7f2fcda8420823f5f5e04216ebe468c4041696.zip
Add fine-grain methods for control which bits are set/reset in ExprDeclBitVector.
llvm-svn: 59073
Diffstat (limited to 'clang')
-rw-r--r--clang/include/clang/Analysis/Support/ExprDeclBitVector.h25
1 files changed, 22 insertions, 3 deletions
diff --git a/clang/include/clang/Analysis/Support/ExprDeclBitVector.h b/clang/include/clang/Analysis/Support/ExprDeclBitVector.h
index 362ce161ab2..070e3575469 100644
--- a/clang/include/clang/Analysis/Support/ExprDeclBitVector.h
+++ b/clang/include/clang/Analysis/Support/ExprDeclBitVector.h
@@ -86,10 +86,19 @@ struct DeclBitVector_Types {
llvm::BitVector DeclBV;
public:
- void resetValues(AnalysisDataTy& AD) {
+ void resetDeclValues(AnalysisDataTy& AD) {
DeclBV.resize(AD.getNumDecls());
DeclBV.reset();
}
+
+ void setDeclValues(AnalysisDataTy& AD) {
+ DeclBV.resize(AD.getNumDecls());
+ DeclBV.set();
+ }
+
+ void resetValues(AnalysisDataTy& AD) {
+ resetDeclValues(AD);
+ }
bool operator==(const ValTy& RHS) const {
assert (sizesEqual(RHS));
@@ -200,12 +209,22 @@ struct ExprDeclBitVector_Types {
public:
- void resetValues(AnalysisDataTy& AD) {
- ParentRef(*this).resetValues(AD);
+
+ void resetExprValues(AnalysisDataTy& AD) {
ExprBV.resize(AD.getNumExprs());
ExprBV.reset();
}
+ void setExprValues(AnalysisDataTy& AD) {
+ ExprBV.resize(AD.getNumExprs());
+ ExprBV.set();
+ }
+
+ void resetValues(AnalysisDataTy& AD) {
+ resetDeclValues(AD);
+ resetExprValues(AD);
+ }
+
bool operator==(const ValTy& RHS) const {
return ParentRef(*this) == ParentRef(RHS)
&& ExprBV == RHS.ExprBV;
OpenPOWER on IntegriCloud