[analyzer] exploded-graph-rewriter: Implement displaying Store pointers.
authorArtem Dergachev <artem.dergachev@gmail.com>
Tue, 13 Aug 2019 23:04:56 +0000 (23:04 +0000)
committerArtem Dergachev <artem.dergachev@gmail.com>
Tue, 13 Aug 2019 23:04:56 +0000 (23:04 +0000)
They're useful when trying to understand what's going on
inside your LazyCompoundValues.

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

llvm-svn: 368769

clang/test/Analysis/exploded-graph-rewriter/escapes.c
clang/test/Analysis/exploded-graph-rewriter/store.dot
clang/utils/analyzer/exploded-graph-rewriter.py

index 84de679..ea8c899 100644 (file)
@@ -9,7 +9,7 @@
 // UNSUPPORTED: system-windows
 
 void escapes() {
-  // CHECK: <td align="left"><b>Store: </b></td>
+  // CHECK: <td align="left"><b>Store: </b> <font color="gray">(0x{{[0-9a-f]*}})</font></td>
   // CHECK-SAME: <td align="left">foo</td><td align="left">0</td>
   // CHECK-SAME: <td align="left">&amp;Element\{"foo",0 S64b,char\}</td>
   // CHECK: <td align="left"><b>Environment: </b></td>
index d47a022..7267dd4 100644 (file)
@@ -4,6 +4,7 @@
 // UNSUPPORTED: system-windows
 
 // CHECK: <b>Store: </b>
+// CHECK-SAME: <font color="gray">(0x2)</font>
 // CHECK-SAME: <table border="0">
 // CHECK-SAME:   <tr>
 // CHECK-SAME:     <td align="left">
index d612cfc..ced5c36 100755 (executable)
@@ -644,6 +644,10 @@ class DotDumpVisitor(object):
         if st is None:
             self._dump('<i> Nothing!</i>')
         else:
+            if self._dark_mode:
+                self._dump(' <font color="gray30">(%s)</font>' % st.ptr)
+            else:
+                self._dump(' <font color="gray">(%s)</font>' % st.ptr)
             if prev_st is not None:
                 if s.store.is_different(prev_st):
                     self._dump('</td></tr><tr><td align="left">')