From: Artem Dergachev Date: Tue, 5 Dec 2017 17:14:39 +0000 (+0000) Subject: [analyzer] Mark heap-based symbolic regions in debug dumps. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fc537f704027abcc019d4ab4b1acbbf633b86b51;p=clang [analyzer] Mark heap-based symbolic regions in debug dumps. They are now printed as HeapSymRegion{$x} in order to discriminate between that and regular SymRegion{$x}, which are two different regions, having different parent reginos (memory spaces) - HeapSpaceRegion and UnknownSpaceRegion respectively. Differential Revision: https://reviews.llvm.org/D40793 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@319793 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/StaticAnalyzer/Core/MemRegion.cpp b/lib/StaticAnalyzer/Core/MemRegion.cpp index 640e63d137..cb8ba6de36 100644 --- a/lib/StaticAnalyzer/Core/MemRegion.cpp +++ b/lib/StaticAnalyzer/Core/MemRegion.cpp @@ -472,6 +472,8 @@ void ObjCStringRegion::dumpToStream(raw_ostream &os) const { } void SymbolicRegion::dumpToStream(raw_ostream &os) const { + if (isa(getSuperRegion())) + os << "Heap"; os << "SymRegion{" << sym << '}'; }