[analyzer] Print type for SymbolRegionValues when dumping to stream
authorDominic Chen <d.c.ddcc@gmail.com>
Mon, 5 Dec 2016 20:30:11 +0000 (20:30 +0000)
committerDominic Chen <d.c.ddcc@gmail.com>
Mon, 5 Dec 2016 20:30:11 +0000 (20:30 +0000)
Reviewers: NoQ, dcoughlin, zaks.anna

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D27365

llvm-svn: 288696

clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
clang/test/Analysis/expr-inspection.c

index 6b99ca5..4be8566 100644 (file)
@@ -85,7 +85,8 @@ void SymbolMetadata::dumpToStream(raw_ostream &os) const {
 void SymbolData::anchor() { }
 
 void SymbolRegionValue::dumpToStream(raw_ostream &os) const {
-  os << "reg_$" << getSymbolID() << "<" << R << ">";
+  os << "reg_$" << getSymbolID()
+     << '<' << getType().getAsString() << ' ' << R << '>';
 }
 
 bool SymExpr::symbol_iterator::operator==(const symbol_iterator &X) const {
index 14e12ec..69e18cb 100644 (file)
@@ -7,7 +7,7 @@ void clang_analyzer_printState();
 void clang_analyzer_numTimesReached();
 
 void foo(int x) {
-  clang_analyzer_dump(x); // expected-warning{{reg_$0<x>}}
+  clang_analyzer_dump(x); // expected-warning{{reg_$0<int x>}}
   int y = 1;
   clang_analyzer_printState();
   for (; y < 3; ++y)