Adding support for MSVC debugger visualization of the Optional datatype.
authorAaron Ballman <aaron@aaronballman.com>
Mon, 3 Mar 2014 21:15:07 +0000 (21:15 +0000)
committerAaron Ballman <aaron@aaronballman.com>
Mon, 3 Mar 2014 21:15:07 +0000 (21:15 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202760 91177308-0d34-0410-b5e6-96231b3b80d8

utils/llvm.natvis

index 373bf963e193a76caceb8c4b78978e99c628afc8..9874ce58d2507bbed07586b50686cbe8d797a0a6 100644 (file)
@@ -166,4 +166,12 @@ or create a symbolic link so it updates automatically.
   <Type Name="llvm::Triple">\r
     <DisplayString>{Data}</DisplayString>\r
   </Type>\r
+  \r
+  <Type Name="llvm::Optional&lt;*&gt;">\r
+    <DisplayString Condition="!hasVal">empty</DisplayString>\r
+    <DisplayString Condition="hasVal">{*(($T1 *)(unsigned char *)storage.buffer)}</DisplayString>\r
+    <Expand>\r
+      <Item Name="[underlying]" Condition="hasVal">*(($T1 *)(unsigned char *)storage.buffer)</Item>\r
+    </Expand>\r
+  </Type>\r
 </AutoVisualizer>\r