aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/SymbolManager.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-10-01 00:21:14 +0000
committerTed Kremenek <kremenek@apple.com>2008-10-01 00:21:14 +0000
commit60a6e0ce72a24d6247602625c631fc3dc7bfd8d4 (patch)
treec12a06611efdb4af760039d9fb442a47139ca9a1 /lib/Analysis/SymbolManager.cpp
parentb10362acd971b84d4525334b275fcbfb4e42cb85 (diff)
Add a QualType to ConjuredSymbol to represent the type and size of the symbol.
Use this updated interface when invalidating arguments passed by reference; the type of symbol is of the object passed by reference, not the reference itself. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56894 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/SymbolManager.cpp')
-rw-r--r--lib/Analysis/SymbolManager.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/Analysis/SymbolManager.cpp b/lib/Analysis/SymbolManager.cpp
index beb4379f99..24d2ed7253 100644
--- a/lib/Analysis/SymbolManager.cpp
+++ b/lib/Analysis/SymbolManager.cpp
@@ -73,10 +73,10 @@ SymbolID SymbolManager::getContentsOfSymbol(SymbolID sym) {
return SymbolCounter++;
}
-SymbolID SymbolManager::getConjuredSymbol(Expr* E, unsigned Count) {
+SymbolID SymbolManager::getConjuredSymbol(Expr* E, QualType T, unsigned Count) {
llvm::FoldingSetNodeID profile;
- SymbolConjured::Profile(profile, E, Count);
+ SymbolConjured::Profile(profile, E, T, Count);
void* InsertPos;
SymbolData* SD = DataSet.FindNodeOrInsertPos(profile, InsertPos);
@@ -85,7 +85,7 @@ SymbolID SymbolManager::getConjuredSymbol(Expr* E, unsigned Count) {
return SD->getSymbol();
SD = (SymbolData*) BPAlloc.Allocate<SymbolConjured>();
- new (SD) SymbolConjured(SymbolCounter, E, Count);
+ new (SD) SymbolConjured(SymbolCounter, E, T, Count);
DataSet.InsertNode(SD, InsertPos);
DataMap[SymbolCounter] = SD;
@@ -118,7 +118,7 @@ QualType SymbolData::getType(const SymbolManager& SymMgr) const {
}
case ConjuredKind:
- return cast<SymbolConjured>(this)->getExpr()->getType();
+ return cast<SymbolConjured>(this)->getType();
}
}