summaryrefslogtreecommitdiffstats
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
commitc9e7622a523ac706d09db5f3b18e45a41a35e7f3 (patch)
tree309d52adfd628ec5fca7921a2c2d0645bd3f349f
parent3cb81db1b2dfa45bc455a2c0727f821ef6a66616 (diff)
downloadbcm5719-llvm-c9e7622a523ac706d09db5f3b18e45a41a35e7f3.tar.gz
bcm5719-llvm-c9e7622a523ac706d09db5f3b18e45a41a35e7f3.zip
Add SymbolRef::print() and have SymbolicRegion::print() use this method instead of calling SymbolRef::getNumber().
llvm-svn: 60578
-rw-r--r--clang/include/clang/Analysis/PathSensitive/SymbolManager.h6
-rw-r--r--clang/lib/Analysis/MemRegion.cpp3
-rw-r--r--clang/lib/Analysis/SymbolManager.cpp5
3 files changed, 13 insertions, 1 deletions
diff --git a/clang/include/clang/Analysis/PathSensitive/SymbolManager.h b/clang/include/clang/Analysis/PathSensitive/SymbolManager.h
index 9d495bee5fd..887e3d9f9cd 100644
--- a/clang/include/clang/Analysis/PathSensitive/SymbolManager.h
+++ b/clang/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/clang/lib/Analysis/MemRegion.cpp b/clang/lib/Analysis/MemRegion.cpp
index 99dc796213f..6aff286dc15 100644
--- a/clang/lib/Analysis/MemRegion.cpp
+++ b/clang/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/clang/lib/Analysis/SymbolManager.cpp b/clang/lib/Analysis/SymbolManager.cpp
index 013202990a6..1c2814a3afe 100644
--- a/clang/lib/Analysis/SymbolManager.cpp
+++ b/clang/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) ||
OpenPOWER on IntegriCloud