Skip to content

Commit 4a12589

Browse files
committed
Fix NATVIS for llvm::PointerIntPair
We don't need to cast to the type of the template argument because it is always an unsigned number. When passed an enumeration type, MSVC's debug formatter would get confused, so this fixes issues like looking at a llvm::PointerIntPair<const ContentCache *, 3, CharacteristicKind> such as what's used in SrcMgr::FileInfo.
1 parent 697fcd0 commit 4a12589

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

llvm/utils/LLVMVisualizers/llvm.natvis

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,11 @@ For later versions of Visual Studio, no setup is required.
9292

9393
<Type Name="llvm::PointerIntPair&lt;*&gt;">
9494
<DisplayString IncludeView="ptr">{($T1)(*(intptr_t *)Value.Data &amp; $T5::PointerBitMask)}</DisplayString>
95-
<DisplayString IncludeView="int">{($T3)((*(intptr_t *)Value.Data &gt;&gt; $T5::IntShift) &amp; $T5::IntMask)}</DisplayString>
96-
<DisplayString>{$T5::IntMask}: {($T1)(*(intptr_t *)Value.Data &amp; $T5::PointerBitMask)} [{($T3)((*(intptr_t *)Value.Data &gt;&gt; $T5::IntShift) &amp; $T5::IntMask)}]</DisplayString>
95+
<DisplayString IncludeView="int">{((*(intptr_t *)Value.Data &gt;&gt; $T5::IntShift) &amp; $T5::IntMask)}</DisplayString>
96+
<DisplayString>{$T5::IntMask}: {($T1)(*(intptr_t *)Value.Data &amp; $T5::PointerBitMask)} [{((*(intptr_t *)Value.Data &gt;&gt; $T5::IntShift) &amp; $T5::IntMask)}]</DisplayString>
9797
<Expand>
9898
<Item Name="[ptr]">($T1)(*(intptr_t *)Value.Data &amp; $T5::PointerBitMask)</Item>
99-
<Item Name="[int]">($T3)((*(intptr_t *)Value.Data &gt;&gt; $T5::IntShift) &amp; $T5::IntMask)</Item>
99+
<Item Name="[int]">((*(intptr_t *)Value.Data &gt;&gt; $T5::IntShift) &amp; $T5::IntMask)</Item>
100100
</Expand>
101101
</Type>
102102
<!-- PointerUnion types -->

0 commit comments

Comments
 (0)