mspertus created this revision.
mspertus added reviewers: aaron.ballman, zturner, aemerson.
mspertus added a subscriber: cfe-commits.

In the `<DisplayString>` of `PointerIntPair` , I cast the pointer to the actual 
type, so VS can leverage it while visualizing, not unlike the recent change to 
`PointerUnion` visualization.
In the expansion, the current code is casting to the incorrect type (wrong 
number of stars), so I fixed that as well.

Note to Reviewers: I will continue to make frequent changes to the MSVC 
visualizers. While these are worthwhile, I don't want to overwhelm the 
reviewers. Is it OK for me to request review after commit in the future when I 
judge that it is appropriate to do so (E.g., this diff)?

http://reviews.llvm.org/D18270

Files:
  llvm.natvis

Index: llvm.natvis
===================================================================
--- llvm.natvis
+++ llvm.natvis
@@ -46,9 +46,9 @@
   </Type>
 
   <Type Name="llvm::PointerIntPair&lt;*,*,*,*&gt;">
-    <DisplayString>{(void*)(Value &amp; PointerBitMask)} [{($T3)((Value 
&gt;&gt; IntShift) &amp; IntMask)}]</DisplayString>
+    <DisplayString>{IntMask}: {($T1)(Value &amp; PointerBitMask)} 
[{($T3)((Value &gt;&gt; IntShift) &amp; IntMask)}]</DisplayString>
     <Expand>
-      <Item Name="[ptr]">($T1*)(Value &amp; PointerBitMask)</Item>
+      <Item Name="[ptr]">($T1)(Value &amp; PointerBitMask)</Item>
       <Item Name="[int]">($T3)((Value &gt;&gt; IntShift) &amp; IntMask)</Item>
     </Expand>
   </Type>


Index: llvm.natvis
===================================================================
--- llvm.natvis
+++ llvm.natvis
@@ -46,9 +46,9 @@
   </Type>
 
   <Type Name="llvm::PointerIntPair&lt;*,*,*,*&gt;">
-    <DisplayString>{(void*)(Value &amp; PointerBitMask)} [{($T3)((Value &gt;&gt; IntShift) &amp; IntMask)}]</DisplayString>
+    <DisplayString>{IntMask}: {($T1)(Value &amp; PointerBitMask)} [{($T3)((Value &gt;&gt; IntShift) &amp; IntMask)}]</DisplayString>
     <Expand>
-      <Item Name="[ptr]">($T1*)(Value &amp; PointerBitMask)</Item>
+      <Item Name="[ptr]">($T1)(Value &amp; PointerBitMask)</Item>
       <Item Name="[int]">($T3)((Value &gt;&gt; IntShift) &amp; IntMask)</Item>
     </Expand>
   </Type>
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to