1*cfa1d499SZachary Turner; RUN: llvm-pdbutil dump -types %p/Inputs/every-class.pdb \ 2*cfa1d499SZachary Turner; RUN: | FileCheck %s 3*cfa1d499SZachary Turner 4*cfa1d499SZachary Turner; CHECK: Types (TPI Stream) 5*cfa1d499SZachary Turner; CHECK: ============================================================ 6*cfa1d499SZachary Turner; CHECK: Showing 157 records 7*cfa1d499SZachary Turner; CHECK: 0x1008 | LF_STRUCTURE [size = 124] `main::__l2::<unnamed-type-Anonymous>` 8*cfa1d499SZachary Turner; CHECK: unique name: `.?AU<unnamed-type-Anonymous>@?1??main@@YAHHPEAPEAD@Z@`aa6523bc` 9*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: 0x1007 10*cfa1d499SZachary Turner; CHECK: options: has unique name | scoped, sizeof 1 11*cfa1d499SZachary Turner; CHECK: 0x1009 | LF_STRUCTURE [size = 88] `main::__l2::Scoped` 12*cfa1d499SZachary Turner; CHECK: unique name: `.?AUScoped@?1??main@@YAHHPEAPEAD@Z@`aa6523bc` 13*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: 0x1007 14*cfa1d499SZachary Turner; CHECK: options: has unique name | scoped, sizeof 1 15*cfa1d499SZachary Turner; CHECK: 0x1054 | LF_STRUCTURE [size = 48] `Nested::F` 16*cfa1d499SZachary Turner; CHECK: unique name: `.?AUF@Nested@@` 17*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 18*cfa1d499SZachary Turner; CHECK: options: forward ref (-> 0x1057) | has unique name | is nested, sizeof 0 19*cfa1d499SZachary Turner; CHECK: 0x1056 | LF_STRUCTURE [size = 44] `Nested` 20*cfa1d499SZachary Turner; CHECK: unique name: `.?AUNested@@` 21*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: 0x1055 22*cfa1d499SZachary Turner; CHECK: options: contains nested class | has unique name, sizeof 1 23*cfa1d499SZachary Turner; CHECK: 0x1057 | LF_STRUCTURE [size = 48] `Nested::F` 24*cfa1d499SZachary Turner; CHECK: unique name: `.?AUF@Nested@@` 25*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: 0x1007 26*cfa1d499SZachary Turner; CHECK: options: has unique name | is nested, sizeof 1 27*cfa1d499SZachary Turner; CHECK: 0x1058 | LF_STRUCTURE [size = 52] `Constructor` 28*cfa1d499SZachary Turner; CHECK: unique name: `.?AUConstructor@@` 29*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 30*cfa1d499SZachary Turner; CHECK: options: forward ref (-> 0x105C) | has unique name, sizeof 0 31*cfa1d499SZachary Turner; CHECK: 0x105C | LF_STRUCTURE [size = 52] `Constructor` 32*cfa1d499SZachary Turner; CHECK: unique name: `.?AUConstructor@@` 33*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: 0x105B 34*cfa1d499SZachary Turner; CHECK: options: has ctor / dtor | has unique name, sizeof 1 35*cfa1d499SZachary Turner; CHECK: 0x105D | LF_CLASS [size = 40] `Class` 36*cfa1d499SZachary Turner; CHECK: unique name: `.?AVClass@@` 37*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: 0x1007 38*cfa1d499SZachary Turner; CHECK: options: has unique name, sizeof 1 39*cfa1d499SZachary Turner; CHECK: 0x105E | LF_UNION [size = 32] `Union` 40*cfa1d499SZachary Turner; CHECK: unique name: `.?ATUnion@@` 41*cfa1d499SZachary Turner; CHECK: field list: 0x1007 42*cfa1d499SZachary Turner; CHECK: options: has unique name | sealed, sizeof 1 43*cfa1d499SZachary Turner; CHECK: 0x105F | LF_STRUCTURE [size = 48] `Operator` 44*cfa1d499SZachary Turner; CHECK: unique name: `.?AUOperator@@` 45*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 46*cfa1d499SZachary Turner; CHECK: options: forward ref (-> 0x1064) | has unique name, sizeof 0 47*cfa1d499SZachary Turner; CHECK: 0x1064 | LF_STRUCTURE [size = 48] `Operator` 48*cfa1d499SZachary Turner; CHECK: unique name: `.?AUOperator@@` 49*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: 0x1063 50*cfa1d499SZachary Turner; CHECK: options: has unique name | overloaded operator, sizeof 1 51*cfa1d499SZachary Turner; CHECK: 0x1066 | LF_ENUM [size = 36] `Enum` 52*cfa1d499SZachary Turner; CHECK: unique name: `.?AW4Enum@@` 53*cfa1d499SZachary Turner; CHECK: field list: 0x1065, underlying type: 0x0074 (int) 54*cfa1d499SZachary Turner; CHECK: options: has unique name 55*cfa1d499SZachary Turner; CHECK: 0x1067 | LF_STRUCTURE [size = 40] `Cast` 56*cfa1d499SZachary Turner; CHECK: unique name: `.?AUCast@@` 57*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 58*cfa1d499SZachary Turner; CHECK: options: forward ref (-> 0x106B) | has unique name, sizeof 0 59*cfa1d499SZachary Turner; CHECK: 0x106B | LF_STRUCTURE [size = 40] `Cast` 60*cfa1d499SZachary Turner; CHECK: unique name: `.?AUCast@@` 61*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: 0x106A 62*cfa1d499SZachary Turner; CHECK: options: conversion operator | has unique name | overloaded operator, sizeof 1 63*cfa1d499SZachary Turner; CHECK: 0x106C | LF_STRUCTURE [size = 44] `Nothing` 64*cfa1d499SZachary Turner; CHECK: unique name: `.?AUNothing@@` 65*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: 0x1007 66*cfa1d499SZachary Turner; CHECK: options: has unique name, sizeof 1 67*cfa1d499SZachary Turner; CHECK: 0x106D | LF_STRUCTURE [size = 52] `Assignment` 68*cfa1d499SZachary Turner; CHECK: unique name: `.?AUAssignment@@` 69*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 70*cfa1d499SZachary Turner; CHECK: options: forward ref (-> 0x1073) | has unique name, sizeof 0 71*cfa1d499SZachary Turner; CHECK: 0x1073 | LF_STRUCTURE [size = 52] `Assignment` 72*cfa1d499SZachary Turner; CHECK: unique name: `.?AUAssignment@@` 73*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: 0x1072 74*cfa1d499SZachary Turner; CHECK: options: has unique name | overloaded operator | overloaded operator=, sizeof 1 75*cfa1d499SZachary Turner; CHECK: 0x1074 | LF_STRUCTURE [size = 44] `Nothing` 76*cfa1d499SZachary Turner; CHECK: unique name: `.?AUNothing@@` 77*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 78*cfa1d499SZachary Turner; CHECK: options: forward ref (<- 0x106C) | has unique name, sizeof 0 79*cfa1d499SZachary Turner; CHECK: 0x1081 | LF_UNION [size = 32] `Union` 80*cfa1d499SZachary Turner; CHECK: unique name: `.?ATUnion@@` 81*cfa1d499SZachary Turner; CHECK: field list: <no type> 82*cfa1d499SZachary Turner; CHECK: options: forward ref (<- 0x105E) | has unique name, sizeof 0 83*cfa1d499SZachary Turner; CHECK: 0x1084 | LF_STRUCTURE [size = 124] `main::__l2::<unnamed-type-Anonymous>` 84*cfa1d499SZachary Turner; CHECK: unique name: `.?AU<unnamed-type-Anonymous>@?1??main@@YAHHPEAPEAD@Z@`aa6523bc` 85*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 86*cfa1d499SZachary Turner; CHECK: options: forward ref (<- 0x1008) | has unique name | scoped, sizeof 0 87*cfa1d499SZachary Turner; CHECK: 0x108E | LF_STRUCTURE [size = 44] `Nested` 88*cfa1d499SZachary Turner; CHECK: unique name: `.?AUNested@@` 89*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 90*cfa1d499SZachary Turner; CHECK: options: forward ref (<- 0x1056) | has unique name, sizeof 0 91*cfa1d499SZachary Turner; CHECK: 0x1095 | LF_STRUCTURE [size = 88] `main::__l2::Scoped` 92*cfa1d499SZachary Turner; CHECK: unique name: `.?AUScoped@?1??main@@YAHHPEAPEAD@Z@`aa6523bc` 93*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 94*cfa1d499SZachary Turner; CHECK: options: forward ref (<- 0x1009) | has unique name | scoped, sizeof 0 95*cfa1d499SZachary Turner; CHECK: 0x1098 | LF_CLASS [size = 40] `Class` 96*cfa1d499SZachary Turner; CHECK: unique name: `.?AVClass@@` 97*cfa1d499SZachary Turner; CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 98*cfa1d499SZachary Turner; CHECK: options: forward ref (<- 0x105D) | has unique name, sizeof 0 99