From fa87d812d7c78d7f0cd1c5636e21e07c23c85341 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Tue, 6 Jul 2010 23:37:21 +0000 Subject: [PATCH] Implement dumpToStream() for NonStaticGlobalSpaceRegion and StaticGlobalSpaceRegion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107731 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Checker/PathSensitive/MemRegion.h | 5 +++++ lib/Checker/MemRegion.cpp | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/include/clang/Checker/PathSensitive/MemRegion.h b/include/clang/Checker/PathSensitive/MemRegion.h index 48a7ad2aab..feb4b7218a 100644 --- a/include/clang/Checker/PathSensitive/MemRegion.h +++ b/include/clang/Checker/PathSensitive/MemRegion.h @@ -172,6 +172,8 @@ class StaticGlobalSpaceRegion : public GlobalsSpaceRegion { public: void Profile(llvm::FoldingSetNodeID &ID) const; + void dumpToStream(llvm::raw_ostream& os) const; + const CodeTextRegion *getCodeRegion() const { return CR; } static bool classof(const MemRegion *R) { @@ -186,6 +188,9 @@ class NonStaticGlobalSpaceRegion : public GlobalsSpaceRegion { : GlobalsSpaceRegion(mgr, NonStaticGlobalSpaceRegionKind) {} public: + + void dumpToStream(llvm::raw_ostream& os) const; + static bool classof(const MemRegion *R) { return R->getKind() == NonStaticGlobalSpaceRegionKind; } diff --git a/lib/Checker/MemRegion.cpp b/lib/Checker/MemRegion.cpp index b0e57fd251..9cfeb7ae2b 100644 --- a/lib/Checker/MemRegion.cpp +++ b/lib/Checker/MemRegion.cpp @@ -402,7 +402,6 @@ void BlockDataRegion::dumpToStream(llvm::raw_ostream& os) const { os << "block_data{" << BC << '}'; } - void CompoundLiteralRegion::dumpToStream(llvm::raw_ostream& os) const { // FIXME: More elaborate pretty-printing. os << "{ " << (void*) CL << " }"; @@ -421,6 +420,10 @@ void FieldRegion::dumpToStream(llvm::raw_ostream& os) const { os << superRegion << "->" << getDecl(); } +void NonStaticGlobalSpaceRegion::dumpToStream(llvm::raw_ostream &os) const { + os << "NonStaticGlobalSpaceRegion"; +} + void ObjCIvarRegion::dumpToStream(llvm::raw_ostream& os) const { os << "ivar{" << superRegion << ',' << getDecl() << '}'; } @@ -445,6 +448,10 @@ void RegionRawOffset::dumpToStream(llvm::raw_ostream& os) const { os << "raw_offset{" << getRegion() << ',' << getByteOffset() << '}'; } +void StaticGlobalSpaceRegion::dumpToStream(llvm::raw_ostream &os) const { + os << "StaticGlobalsMemSpace{" << CR << '}'; +} + //===----------------------------------------------------------------------===// // MemRegionManager methods. //===----------------------------------------------------------------------===// -- 2.40.0