From: Mike Spertus Date: Wed, 2 Jan 2019 19:26:50 +0000 (+0000) Subject: Fix MSVC PointerUnion visualizer X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=09f6d282072edcf3d928852588824fe96b7cc6a0;p=llvm Fix MSVC PointerUnion visualizer Differential Revision: https://reviews.llvm.org/D56186 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350250 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ADT/PointerIntPair.h b/include/llvm/ADT/PointerIntPair.h index 884d05155bf..6d1b53a90ad 100644 --- a/include/llvm/ADT/PointerIntPair.h +++ b/include/llvm/ADT/PointerIntPair.h @@ -42,6 +42,8 @@ template , typename Info = PointerIntPairInfo> class PointerIntPair { + // Used by MSVC visualizer and generally helpful for debugging/visualizing. + using InfoTy = Info; intptr_t Value = 0; public: diff --git a/utils/LLVMVisualizers/llvm.natvis b/utils/LLVMVisualizers/llvm.natvis index bbded5dcc30..56089648e15 100644 --- a/utils/LLVMVisualizers/llvm.natvis +++ b/utils/LLVMVisualizers/llvm.natvis @@ -35,6 +35,7 @@ For later versions of Visual Studio, no setup is required. , /* {Size - 4} more*/ empty {{{*this,view(elt0)}}} + Uninitialized Size Capacity @@ -93,11 +94,13 @@ For later versions of Visual Studio, no setup is required. - {"$T1", s8b}: {($T1)(Val.Value & Val.PointerBitMask)} - {"$T2", s8b}: {($T2)(Val.Value & Val.PointerBitMask)} + {"$T1", s8b}: {($T1)(Val.Value & ValTy::InfoTy::PointerBitMask)} + {"$T2", s8b}: {($T2)(Val.Value & ValTy::InfoTy::PointerBitMask)} - ($T1)(Val.Value & Val.PointerBitMask) - ($T2)(Val.Value & Val.PointerBitMask) + "$T1", s8b + ($T1)(Val.Value & ValTy::InfoTy::PointerBitMask) + "$T2", s8b + ($T2)(Val.Value & ValTy::InfoTy::PointerBitMask)