diff options
| author | Ted Kremenek <kremenek@apple.com> | 2008-12-05 02:45:20 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2008-12-05 02:45:20 +0000 |
| commit | c9e7622a523ac706d09db5f3b18e45a41a35e7f3 (patch) | |
| tree | 309d52adfd628ec5fca7921a2c2d0645bd3f349f | |
| parent | 3cb81db1b2dfa45bc455a2c0727f821ef6a66616 (diff) | |
| download | bcm5719-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.h | 6 | ||||
| -rw-r--r-- | clang/lib/Analysis/MemRegion.cpp | 3 | ||||
| -rw-r--r-- | clang/lib/Analysis/SymbolManager.cpp | 5 |
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) || |

