Index: clang.natvis =================================================================== --- clang.natvis +++ clang.natvis @@ -1,18 +1,81 @@ - Builtin Type={(clang::BuiltinType::Kind)BuiltinTypeBits.Kind} - Modified Type={((clang::AttributedType*)this)->ModifiedType} Attribute={(clang::AttributedType::Kind)AttributedTypeBits.AttrKind} - Type Class={(clang::Type::TypeClass)TypeBits.TC} + {(clang::Type::TypeClass)TypeBits.TC} + Builtin Type={*(clang::BuiltinType *)this} + Modified Type={((clang::AttributedType*)this)->ModifiedType} Attribute={(clang::AttributedType::Kind)AttributedTypeBits.AttrKind} + {*(clang::SubstTemplateTypeParmType *)this} + {*(clang::RecordType *)this} + {(clang::Type::TypeClass)TypeBits.TC} + + (clang::Type::TypeClass)TypeBits.TC + TypeBits + CanonicalType + *(clang::BuiltinType *)this + (clang::SubstTemplateTypeParmType *)this + (clang::RecordType *)this + + + + {*decl} + + decl + + + + {*(clang::Type *)this, view(BaseOnly)}, {*(clang::TagType *)this} + + *(clang::TagType *)this + + + + {*(clang::Type *)this, view(BaseOnly)}: {*Replaced} => {CanonicalType} + + *(clang::Type *)this, view(BaseOnly) + *Replaced + + + + {*TTPDecl} - {((clang::ExtQualsTypeCommonBase *)(((uintptr_t)Value.Value) & ~(uintptr_t)((1 << clang::TypeAlignmentInBits) - 1)))->BaseType} + + {*((clang::ExtQualsTypeCommonBase *)(((uintptr_t)Value.Value) & ~(uintptr_t)((1 << 4) - 1)))->BaseType} + + *((clang::ExtQualsTypeCommonBase *)(((uintptr_t)Value.Value) & ~(uintptr_t)((1 << 4) - 1)))->BaseType + + + + {Argument} + + Argument + + + + {(clang::TemplateArgument::ArgKind)TypeOrValue.Kind}, {*(clang::QualType *)&TypeOrValue.V} + + *(clang::QualType *)&TypeOrValue.V + + + + + {(clang::BuiltinType::Kind)BuiltinTypeBits.Kind} + + (clang::BuiltinType::Kind)BuiltinTypeBits.Kind + + + + {Name} + + + {(clang::TemplateDecl *)((Template.Storage.Val.Val.Value >> 2) << 2)} + {Template.Storage} ({((llvm::StringMapEntry<clang::IdentifierInfo *>*)Entry)+1,s}) @@ -65,4 +128,10 @@ ParmVarDeclBits + + {($T1 *)Ptr + + ($T1 *)Ptr + +