aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-12-05 02:45:20 +0000
committerTed Kremenek <kremenek@apple.com>2008-12-05 02:45:20 +0000
commit562731eabbed616535874c99655c81cc55d713fb (patch)
treee87526a941a95857d01cabab89772e6c731458d7
parent6d0e2d2f3c1b6531f303aac7e48aa1eb05900f2a (diff)
Add SymbolRef::print() and have SymbolicRegion::print() use this method instead of calling SymbolRef::getNumber().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60578 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/Analysis/PathSensitive/SymbolManager.h6
-rw-r--r--lib/Analysis/MemRegion.cpp3
-rw-r--r--lib/Analysis/SymbolManager.cpp5
3 files changed, 13 insertions, 1 deletions
diff --git a/include/clang/Analysis/PathSensitive/SymbolManager.h b/include/clang/Analysis/PathSensitive/SymbolManager.h
index 9d495bee5f..887e3d9f9c 100644
--- a/include/clang/Analysis/PathSensitive/SymbolManager.h
+++ b/include/clang/Analysis/PathSensitive/SymbolManager.h
@@ -22,6 +22,10 @@
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/Allocator.h"
+namespace llvm {
+ class raw_ostream;
+}
+
namespace clang {
class MemRegion;
@@ -37,6 +41,8 @@ public:
operator unsigned() const { return getNumber(); }
unsigned getNumber() const { assert (isInitialized()); return Data; }
+ void print(llvm::raw_ostream& os) const;
+
void Profile(llvm::FoldingSetNodeID& ID) const {
assert (isInitialized());
ID.AddInteger(Data);
diff --git a/lib/Analysis/MemRegion.cpp b/lib/Analysis/MemRegion.cpp
index 99dc796213..6aff286dc1 100644
--- a/lib/Analysis/MemRegion.cpp
+++ b/lib/Analysis/MemRegion.cpp
@@ -149,7 +149,8 @@ void VarRegion::print(llvm::raw_ostream& os) const {
}
void SymbolicRegion::print(llvm::raw_ostream& os) const {
- os << "$" << sym.getNumber();
+ os << "SymRegion-";
+ sym.print(os);
}
void FieldRegion::print(llvm::raw_ostream& os) const {
diff --git a/lib/Analysis/SymbolManager.cpp b/lib/Analysis/SymbolManager.cpp
index 013202990a..1c2814a3af 100644
--- a/lib/Analysis/SymbolManager.cpp
+++ b/lib/Analysis/SymbolManager.cpp
@@ -13,9 +13,14 @@
//===----------------------------------------------------------------------===//
#include "clang/Analysis/PathSensitive/SymbolManager.h"
+#include "llvm/Support/raw_ostream.h"
using namespace clang;
+void SymbolRef::print(llvm::raw_ostream& os) const {
+ os << getNumber();
+}
+
SymbolRef SymbolManager::getSymbol(VarDecl* D) {
assert (isa<ParmVarDecl>(D) || isa<ImplicitParamDecl>(D) ||