1RUN: llvm-pdbutil dump -types -type-ref-stats %p/Inputs/every-class.pdb \ 2RUN: | FileCheck %s 3 4CHECK: Types (TPI Stream) 5CHECK: ============================================================ 6CHECK: Showing 157 records 7CHECK: 0x1000 | LF_ARGLIST [size = 16, referenced] 8CHECK: 0x0603 (void*): `void*` 9CHECK: 0x0023 (unsigned __int64): `unsigned __int64` 10CHECK: 0x1001 | LF_PROCEDURE [size = 16, referenced] 11CHECK: return type = 0x0003 (void), # args = 2, param list = 0x1000 12CHECK: calling conv = cdecl, options = None 13CHECK: 0x1002 | LF_ARGLIST [size = 16, referenced] 14CHECK: 0x0603 (void*): `void*` 15CHECK: 0x0075 (unsigned): `unsigned` 16CHECK: 0x1003 | LF_PROCEDURE [size = 16, referenced] 17CHECK: return type = 0x0003 (void), # args = 2, param list = 0x1002 18CHECK: calling conv = cdecl, options = None 19CHECK: 0x1004 | LF_POINTER [size = 12, referenced] 20CHECK: referent = 0x0670 (char*), mode = pointer, opts = None, kind = ptr64 21CHECK: 0x1005 | LF_ARGLIST [size = 16, referenced] 22CHECK: 0x0074 (int): `int` 23CHECK: 0x1004: `char**` 24CHECK: 0x1006 | LF_PROCEDURE [size = 16, referenced] 25CHECK: return type = 0x0074 (int), # args = 2, param list = 0x1005 26CHECK: calling conv = cdecl, options = None 27CHECK: 0x1007 | LF_FIELDLIST [size = 4, referenced] 28CHECK: 0x1008 | LF_STRUCTURE [size = 124, referenced] `main::__l2::<unnamed-type-Anonymous>` 29CHECK: unique name: `.?AU<unnamed-type-Anonymous>@?1??main@@YAHHPEAPEAD@Z@`aa6523bc` 30CHECK: vtable: <no type>, base list: <no type>, field list: 0x1007 31CHECK: options: has unique name | scoped, sizeof 1 32CHECK: 0x1009 | LF_STRUCTURE [size = 88, referenced] `main::__l2::Scoped` 33CHECK: unique name: `.?AUScoped@?1??main@@YAHHPEAPEAD@Z@`aa6523bc` 34CHECK: vtable: <no type>, base list: <no type>, field list: 0x1007 35CHECK: options: has unique name | scoped, sizeof 1 36CHECK: 0x100A | LF_FIELDLIST [size = 48, unreferenced] 37CHECK: - LF_ENUMERATE [native = 0] 38CHECK: - LF_ENUMERATE [com = 1] 39CHECK: - LF_ENUMERATE [managed = 2] 40CHECK: 0x100B | LF_ENUM [size = 116, unreferenced] `__vc_attributes::event_sourceAttribute::type_e` 41CHECK: unique name: `.?AW4type_e@event_sourceAttribute@__vc_attributes@@` 42CHECK: field list: 0x100A, underlying type: 0x0074 (int) 43CHECK: options: has unique name | is nested 44CHECK: 0x100C | LF_FIELDLIST [size = 28, unreferenced] 45CHECK: - LF_ENUMERATE [speed = 0] 46CHECK: - LF_ENUMERATE [size = 1] 47CHECK: 0x100D | LF_ENUM [size = 124, unreferenced] `__vc_attributes::event_sourceAttribute::optimize_e` 48CHECK: unique name: `.?AW4optimize_e@event_sourceAttribute@__vc_attributes@@` 49CHECK: field list: 0x100C, underlying type: 0x0074 (int) 50CHECK: options: has unique name | is nested 51CHECK: 0x100E | LF_STRUCTURE [size = 108, unreferenced] `__vc_attributes::event_sourceAttribute` 52CHECK: unique name: `.?AUevent_sourceAttribute@__vc_attributes@@` 53CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 54CHECK: options: forward ref (-> 0x1016) | has unique name, sizeof 0 55CHECK: 0x100F | LF_POINTER [size = 12, unreferenced] 56CHECK: referent = 0x100E, mode = pointer, opts = const, kind = ptr64 57CHECK: 0x1010 | LF_ARGLIST [size = 12, unreferenced] 58CHECK: 0x100B: `__vc_attributes::event_sourceAttribute::type_e` 59CHECK: 0x1011 | LF_MFUNCTION [size = 28, unreferenced] 60CHECK: return type = 0x0003 (void), # args = 1, param list = 0x1010 61CHECK: class type = 0x100E, this type = 0x100F, this adjust = 0 62CHECK: calling conv = cdecl, options = constructor 63CHECK: 0x1012 | LF_ARGLIST [size = 8, referenced] 64CHECK: 0x1013 | LF_MFUNCTION [size = 28, unreferenced] 65CHECK: return type = 0x0003 (void), # args = 0, param list = 0x1012 66CHECK: class type = 0x100E, this type = 0x100F, this adjust = 0 67CHECK: calling conv = cdecl, options = constructor 68CHECK: 0x1014 | LF_METHODLIST [size = 20, unreferenced] 69CHECK: - Method [type = 0x1011, vftable offset = -1, attrs = public] 70CHECK: - Method [type = 0x1013, vftable offset = -1, attrs = public] 71CHECK: 0x1015 | LF_FIELDLIST [size = 128, unreferenced] 72CHECK: - LF_NESTTYPE [name = `type_e`, parent = 0x100B] 73CHECK: - LF_NESTTYPE [name = `optimize_e`, parent = 0x100D] 74CHECK: - LF_METHOD [name = `event_sourceAttribute`, # overloads = 2, overload list = 0x1014] 75CHECK: - LF_MEMBER [name = `type`, Type = 0x100B, offset = 0, attrs = public] 76CHECK: - LF_MEMBER [name = `optimize`, Type = 0x100D, offset = 4, attrs = public] 77CHECK: - LF_MEMBER [name = `decorate`, Type = 0x0030 (bool), offset = 8, attrs = public] 78CHECK: 0x1016 | LF_STRUCTURE [size = 108, unreferenced] `__vc_attributes::event_sourceAttribute` 79CHECK: unique name: `.?AUevent_sourceAttribute@__vc_attributes@@` 80CHECK: vtable: <no type>, base list: <no type>, field list: 0x1015 81CHECK: options: has ctor / dtor | contains nested class | has unique name, sizeof 12 82CHECK: 0x1017 | LF_FIELDLIST [size = 68, unreferenced] 83CHECK: - LF_ENUMERATE [eBoolean = 0] 84CHECK: - LF_ENUMERATE [eInteger = 1] 85CHECK: - LF_ENUMERATE [eFloat = 2] 86CHECK: - LF_ENUMERATE [eDouble = 3] 87CHECK: 0x1018 | LF_ENUM [size = 148, unreferenced] `__vc_attributes::helper_attributes::v1_alttypeAttribute::type_e` 88CHECK: unique name: `.?AW4type_e@v1_alttypeAttribute@helper_attributes@__vc_attributes@@` 89CHECK: field list: 0x1017, underlying type: 0x0074 (int) 90CHECK: options: has unique name | is nested 91CHECK: 0x1019 | LF_STRUCTURE [size = 140, unreferenced] `__vc_attributes::helper_attributes::v1_alttypeAttribute` 92CHECK: unique name: `.?AUv1_alttypeAttribute@helper_attributes@__vc_attributes@@` 93CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 94CHECK: options: forward ref (-> 0x101E) | has unique name, sizeof 0 95CHECK: 0x101A | LF_POINTER [size = 12, unreferenced] 96CHECK: referent = 0x1019, mode = pointer, opts = const, kind = ptr64 97CHECK: 0x101B | LF_ARGLIST [size = 12, unreferenced] 98CHECK: 0x1018: `__vc_attributes::helper_attributes::v1_alttypeAttribute::type_e` 99CHECK: 0x101C | LF_MFUNCTION [size = 28, unreferenced] 100CHECK: return type = 0x0003 (void), # args = 1, param list = 0x101B 101CHECK: class type = 0x1019, this type = 0x101A, this adjust = 0 102CHECK: calling conv = cdecl, options = constructor 103CHECK: 0x101D | LF_FIELDLIST [size = 64, unreferenced] 104CHECK: - LF_NESTTYPE [name = `type_e`, parent = 0x1018] 105CHECK: - LF_ONEMETHOD [name = `v1_alttypeAttribute`] 106CHECK: type = 0x101C, vftable offset = -1, attrs = public 107CHECK: - LF_MEMBER [name = `type`, Type = 0x1018, offset = 0, attrs = public] 108CHECK: 0x101E | LF_STRUCTURE [size = 140, unreferenced] `__vc_attributes::helper_attributes::v1_alttypeAttribute` 109CHECK: unique name: `.?AUv1_alttypeAttribute@helper_attributes@__vc_attributes@@` 110CHECK: vtable: <no type>, base list: <no type>, field list: 0x101D 111CHECK: options: has ctor / dtor | contains nested class | has unique name, sizeof 4 112CHECK: 0x101F | LF_FIELDLIST [size = 756, unreferenced] 113CHECK: - LF_ENUMERATE [eAnyUsage = 0] 114CHECK: - LF_ENUMERATE [eCoClassUsage = 1] 115CHECK: - LF_ENUMERATE [eCOMInterfaceUsage = 2] 116CHECK: - LF_ENUMERATE [eInterfaceUsage = 6] 117CHECK: - LF_ENUMERATE [eMemberUsage = 8] 118CHECK: - LF_ENUMERATE [eMethodUsage = 16] 119CHECK: - LF_ENUMERATE [eInterfaceMethodUsage = 32] 120CHECK: - LF_ENUMERATE [eInterfaceMemberUsage = 64] 121CHECK: - LF_ENUMERATE [eCoClassMemberUsage = 128] 122CHECK: - LF_ENUMERATE [eCoClassMethodUsage = 256] 123CHECK: - LF_ENUMERATE [eGlobalMethodUsage = 768] 124CHECK: - LF_ENUMERATE [eGlobalDataUsage = 1024] 125CHECK: - LF_ENUMERATE [eClassUsage = 2048] 126CHECK: - LF_ENUMERATE [eInterfaceParameterUsage = 4096] 127CHECK: - LF_ENUMERATE [eMethodParameterUsage = 12288] 128CHECK: - LF_ENUMERATE [eIDLModuleUsage = 16384] 129CHECK: - LF_ENUMERATE [eAnonymousUsage = 32768] 130CHECK: - LF_ENUMERATE [eTypedefUsage = 65536] 131CHECK: - LF_ENUMERATE [eUnionUsage = 131072] 132CHECK: - LF_ENUMERATE [eEnumUsage = 262144] 133CHECK: - LF_ENUMERATE [eDefineTagUsage = 524288] 134CHECK: - LF_ENUMERATE [eStructUsage = 1048576] 135CHECK: - LF_ENUMERATE [eLocalUsage = 2097152] 136CHECK: - LF_ENUMERATE [ePropertyUsage = 4194304] 137CHECK: - LF_ENUMERATE [eEventUsage = 8388608] 138CHECK: - LF_ENUMERATE [eTemplateUsage = 16777216] 139CHECK: - LF_ENUMERATE [eModuleUsage = 16777216] 140CHECK: - LF_ENUMERATE [eIllegalUsage = 33554432] 141CHECK: - LF_ENUMERATE [eAsynchronousUsage = 67108864] 142CHECK: - LF_ENUMERATE [eAnyIDLUsage = 4161535] 143CHECK: 0x1020 | LF_ENUM [size = 140, unreferenced] `__vc_attributes::helper_attributes::usageAttribute::usage_e` 144CHECK: unique name: `.?AW4usage_e@usageAttribute@helper_attributes@__vc_attributes@@` 145CHECK: field list: 0x101F, underlying type: 0x0074 (int) 146CHECK: options: has unique name | is nested 147CHECK: 0x1021 | LF_STRUCTURE [size = 128, unreferenced] `__vc_attributes::helper_attributes::usageAttribute` 148CHECK: unique name: `.?AUusageAttribute@helper_attributes@__vc_attributes@@` 149CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 150CHECK: options: forward ref (-> 0x1026) | has unique name, sizeof 0 151CHECK: 0x1022 | LF_POINTER [size = 12, unreferenced] 152CHECK: referent = 0x1021, mode = pointer, opts = const, kind = ptr64 153CHECK: 0x1023 | LF_ARGLIST [size = 12, unreferenced] 154CHECK: 0x0075 (unsigned): `unsigned` 155CHECK: 0x1024 | LF_MFUNCTION [size = 28, unreferenced] 156CHECK: return type = 0x0003 (void), # args = 1, param list = 0x1023 157CHECK: class type = 0x1021, this type = 0x1022, this adjust = 0 158CHECK: calling conv = cdecl, options = constructor 159CHECK: 0x1025 | LF_FIELDLIST [size = 60, unreferenced] 160CHECK: - LF_NESTTYPE [name = `usage_e`, parent = 0x1020] 161CHECK: - LF_ONEMETHOD [name = `usageAttribute`] 162CHECK: type = 0x1024, vftable offset = -1, attrs = public 163CHECK: - LF_MEMBER [name = `value`, Type = 0x0075 (unsigned), offset = 0, attrs = public] 164CHECK: 0x1026 | LF_STRUCTURE [size = 128, unreferenced] `__vc_attributes::helper_attributes::usageAttribute` 165CHECK: unique name: `.?AUusageAttribute@helper_attributes@__vc_attributes@@` 166CHECK: vtable: <no type>, base list: <no type>, field list: 0x1025 167CHECK: options: has ctor / dtor | contains nested class | has unique name, sizeof 4 168CHECK: 0x1027 | LF_FIELDLIST [size = 76, unreferenced] 169CHECK: - LF_ENUMERATE [apartment = 1] 170CHECK: - LF_ENUMERATE [single = 2] 171CHECK: - LF_ENUMERATE [free = 3] 172CHECK: - LF_ENUMERATE [neutral = 4] 173CHECK: - LF_ENUMERATE [both = 5] 174CHECK: 0x1028 | LF_ENUM [size = 120, unreferenced] `__vc_attributes::threadingAttribute::threading_e` 175CHECK: unique name: `.?AW4threading_e@threadingAttribute@__vc_attributes@@` 176CHECK: field list: 0x1027, underlying type: 0x0074 (int) 177CHECK: options: has unique name | is nested 178CHECK: 0x1029 | LF_STRUCTURE [size = 100, unreferenced] `__vc_attributes::threadingAttribute` 179CHECK: unique name: `.?AUthreadingAttribute@__vc_attributes@@` 180CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 181CHECK: options: forward ref (-> 0x1030) | has unique name, sizeof 0 182CHECK: 0x102A | LF_POINTER [size = 12, unreferenced] 183CHECK: referent = 0x1029, mode = pointer, opts = const, kind = ptr64 184CHECK: 0x102B | LF_ARGLIST [size = 12, unreferenced] 185CHECK: 0x1028: `__vc_attributes::threadingAttribute::threading_e` 186CHECK: 0x102C | LF_MFUNCTION [size = 28, unreferenced] 187CHECK: return type = 0x0003 (void), # args = 1, param list = 0x102B 188CHECK: class type = 0x1029, this type = 0x102A, this adjust = 0 189CHECK: calling conv = cdecl, options = constructor 190CHECK: 0x102D | LF_MFUNCTION [size = 28, unreferenced] 191CHECK: return type = 0x0003 (void), # args = 0, param list = 0x1012 192CHECK: class type = 0x1029, this type = 0x102A, this adjust = 0 193CHECK: calling conv = cdecl, options = constructor 194CHECK: 0x102E | LF_METHODLIST [size = 20, unreferenced] 195CHECK: - Method [type = 0x102C, vftable offset = -1, attrs = public] 196CHECK: - Method [type = 0x102D, vftable offset = -1, attrs = public] 197CHECK: 0x102F | LF_FIELDLIST [size = 68, unreferenced] 198CHECK: - LF_NESTTYPE [name = `threading_e`, parent = 0x1028] 199CHECK: - LF_METHOD [name = `threadingAttribute`, # overloads = 2, overload list = 0x102E] 200CHECK: - LF_MEMBER [name = `value`, Type = 0x1028, offset = 0, attrs = public] 201CHECK: 0x1030 | LF_STRUCTURE [size = 100, unreferenced] `__vc_attributes::threadingAttribute` 202CHECK: unique name: `.?AUthreadingAttribute@__vc_attributes@@` 203CHECK: vtable: <no type>, base list: <no type>, field list: 0x102F 204CHECK: options: has ctor / dtor | contains nested class | has unique name, sizeof 4 205CHECK: 0x1031 | LF_FIELDLIST [size = 48, unreferenced] 206CHECK: - LF_ENUMERATE [never = 0] 207CHECK: - LF_ENUMERATE [allowed = 1] 208CHECK: - LF_ENUMERATE [always = 2] 209CHECK: 0x1032 | LF_ENUM [size = 116, unreferenced] `__vc_attributes::aggregatableAttribute::type_e` 210CHECK: unique name: `.?AW4type_e@aggregatableAttribute@__vc_attributes@@` 211CHECK: field list: 0x1031, underlying type: 0x0074 (int) 212CHECK: options: has unique name | is nested 213CHECK: 0x1033 | LF_STRUCTURE [size = 108, unreferenced] `__vc_attributes::aggregatableAttribute` 214CHECK: unique name: `.?AUaggregatableAttribute@__vc_attributes@@` 215CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 216CHECK: options: forward ref (-> 0x103A) | has unique name, sizeof 0 217CHECK: 0x1034 | LF_POINTER [size = 12, unreferenced] 218CHECK: referent = 0x1033, mode = pointer, opts = const, kind = ptr64 219CHECK: 0x1035 | LF_ARGLIST [size = 12, unreferenced] 220CHECK: 0x1032: `__vc_attributes::aggregatableAttribute::type_e` 221CHECK: 0x1036 | LF_MFUNCTION [size = 28, unreferenced] 222CHECK: return type = 0x0003 (void), # args = 1, param list = 0x1035 223CHECK: class type = 0x1033, this type = 0x1034, this adjust = 0 224CHECK: calling conv = cdecl, options = constructor 225CHECK: 0x1037 | LF_MFUNCTION [size = 28, unreferenced] 226CHECK: return type = 0x0003 (void), # args = 0, param list = 0x1012 227CHECK: class type = 0x1033, this type = 0x1034, this adjust = 0 228CHECK: calling conv = cdecl, options = constructor 229CHECK: 0x1038 | LF_METHODLIST [size = 20, unreferenced] 230CHECK: - Method [type = 0x1036, vftable offset = -1, attrs = public] 231CHECK: - Method [type = 0x1037, vftable offset = -1, attrs = public] 232CHECK: 0x1039 | LF_FIELDLIST [size = 68, unreferenced] 233CHECK: - LF_NESTTYPE [name = `type_e`, parent = 0x1032] 234CHECK: - LF_METHOD [name = `aggregatableAttribute`, # overloads = 2, overload list = 0x1038] 235CHECK: - LF_MEMBER [name = `type`, Type = 0x1032, offset = 0, attrs = public] 236CHECK: 0x103A | LF_STRUCTURE [size = 108, unreferenced] `__vc_attributes::aggregatableAttribute` 237CHECK: unique name: `.?AUaggregatableAttribute@__vc_attributes@@` 238CHECK: vtable: <no type>, base list: <no type>, field list: 0x1039 239CHECK: options: has ctor / dtor | contains nested class | has unique name, sizeof 4 240CHECK: 0x103B | LF_ENUM [size = 120, unreferenced] `__vc_attributes::event_receiverAttribute::type_e` 241CHECK: unique name: `.?AW4type_e@event_receiverAttribute@__vc_attributes@@` 242CHECK: field list: 0x100A, underlying type: 0x0074 (int) 243CHECK: options: has unique name | is nested 244CHECK: 0x103C | LF_STRUCTURE [size = 112, unreferenced] `__vc_attributes::event_receiverAttribute` 245CHECK: unique name: `.?AUevent_receiverAttribute@__vc_attributes@@` 246CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 247CHECK: options: forward ref (-> 0x1045) | has unique name, sizeof 0 248CHECK: 0x103D | LF_POINTER [size = 12, unreferenced] 249CHECK: referent = 0x103C, mode = pointer, opts = const, kind = ptr64 250CHECK: 0x103E | LF_ARGLIST [size = 16, unreferenced] 251CHECK: 0x103B: `__vc_attributes::event_receiverAttribute::type_e` 252CHECK: 0x0030 (bool): `bool` 253CHECK: 0x103F | LF_MFUNCTION [size = 28, unreferenced] 254CHECK: return type = 0x0003 (void), # args = 2, param list = 0x103E 255CHECK: class type = 0x103C, this type = 0x103D, this adjust = 0 256CHECK: calling conv = cdecl, options = constructor 257CHECK: 0x1040 | LF_ARGLIST [size = 12, unreferenced] 258CHECK: 0x103B: `__vc_attributes::event_receiverAttribute::type_e` 259CHECK: 0x1041 | LF_MFUNCTION [size = 28, unreferenced] 260CHECK: return type = 0x0003 (void), # args = 1, param list = 0x1040 261CHECK: class type = 0x103C, this type = 0x103D, this adjust = 0 262CHECK: calling conv = cdecl, options = constructor 263CHECK: 0x1042 | LF_MFUNCTION [size = 28, unreferenced] 264CHECK: return type = 0x0003 (void), # args = 0, param list = 0x1012 265CHECK: class type = 0x103C, this type = 0x103D, this adjust = 0 266CHECK: calling conv = cdecl, options = constructor 267CHECK: 0x1043 | LF_METHODLIST [size = 28, unreferenced] 268CHECK: - Method [type = 0x103F, vftable offset = -1, attrs = public] 269CHECK: - Method [type = 0x1041, vftable offset = -1, attrs = public] 270CHECK: - Method [type = 0x1042, vftable offset = -1, attrs = public] 271CHECK: 0x1044 | LF_FIELDLIST [size = 96, unreferenced] 272CHECK: - LF_NESTTYPE [name = `type_e`, parent = 0x103B] 273CHECK: - LF_METHOD [name = `event_receiverAttribute`, # overloads = 3, overload list = 0x1043] 274CHECK: - LF_MEMBER [name = `type`, Type = 0x103B, offset = 0, attrs = public] 275CHECK: - LF_MEMBER [name = `layout_dependent`, Type = 0x0030 (bool), offset = 4, attrs = public] 276CHECK: 0x1045 | LF_STRUCTURE [size = 112, unreferenced] `__vc_attributes::event_receiverAttribute` 277CHECK: unique name: `.?AUevent_receiverAttribute@__vc_attributes@@` 278CHECK: vtable: <no type>, base list: <no type>, field list: 0x1044 279CHECK: options: has ctor / dtor | contains nested class | has unique name, sizeof 8 280CHECK: 0x1046 | LF_FIELDLIST [size = 92, unreferenced] 281CHECK: - LF_ENUMERATE [dll = 1] 282CHECK: - LF_ENUMERATE [exe = 2] 283CHECK: - LF_ENUMERATE [service = 3] 284CHECK: - LF_ENUMERATE [unspecified = 4] 285CHECK: - LF_ENUMERATE [EXE = 2] 286CHECK: - LF_ENUMERATE [SERVICE = 3] 287CHECK: 0x1047 | LF_ENUM [size = 104, unreferenced] `__vc_attributes::moduleAttribute::type_e` 288CHECK: unique name: `.?AW4type_e@moduleAttribute@__vc_attributes@@` 289CHECK: field list: 0x1046, underlying type: 0x0074 (int) 290CHECK: options: has unique name | is nested 291CHECK: 0x1048 | LF_STRUCTURE [size = 96, unreferenced] `__vc_attributes::moduleAttribute` 292CHECK: unique name: `.?AUmoduleAttribute@__vc_attributes@@` 293CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 294CHECK: options: forward ref (-> 0x1053) | has unique name, sizeof 0 295CHECK: 0x1049 | LF_POINTER [size = 12, unreferenced] 296CHECK: referent = 0x1048, mode = pointer, opts = const, kind = ptr64 297CHECK: 0x104A | LF_MODIFIER [size = 12, unreferenced] 298CHECK: referent = 0x0070 (char), modifiers = const 299CHECK: 0x104B | LF_POINTER [size = 12, unreferenced] 300CHECK: referent = 0x104A, mode = pointer, opts = None, kind = ptr64 301CHECK: 0x104C | LF_ARGLIST [size = 68, unreferenced] 302CHECK: 0x1047: `__vc_attributes::moduleAttribute::type_e` 303CHECK: 0x104B: `const char*` 304CHECK: 0x104B: `const char*` 305CHECK: 0x104B: `const char*` 306CHECK: 0x0074 (int): `int` 307CHECK: 0x0030 (bool): `bool` 308CHECK: 0x104B: `const char*` 309CHECK: 0x0074 (int): `int` 310CHECK: 0x104B: `const char*` 311CHECK: 0x104B: `const char*` 312CHECK: 0x0074 (int): `int` 313CHECK: 0x0030 (bool): `bool` 314CHECK: 0x0030 (bool): `bool` 315CHECK: 0x104B: `const char*` 316CHECK: 0x104B: `const char*` 317CHECK: 0x104D | LF_MFUNCTION [size = 28, unreferenced] 318CHECK: return type = 0x0003 (void), # args = 15, param list = 0x104C 319CHECK: class type = 0x1048, this type = 0x1049, this adjust = 0 320CHECK: calling conv = cdecl, options = constructor 321CHECK: 0x104E | LF_ARGLIST [size = 12, unreferenced] 322CHECK: 0x1047: `__vc_attributes::moduleAttribute::type_e` 323CHECK: 0x104F | LF_MFUNCTION [size = 28, unreferenced] 324CHECK: return type = 0x0003 (void), # args = 1, param list = 0x104E 325CHECK: class type = 0x1048, this type = 0x1049, this adjust = 0 326CHECK: calling conv = cdecl, options = constructor 327CHECK: 0x1050 | LF_MFUNCTION [size = 28, unreferenced] 328CHECK: return type = 0x0003 (void), # args = 0, param list = 0x1012 329CHECK: class type = 0x1048, this type = 0x1049, this adjust = 0 330CHECK: calling conv = cdecl, options = constructor 331CHECK: 0x1051 | LF_METHODLIST [size = 28, unreferenced] 332CHECK: - Method [type = 0x104D, vftable offset = -1, attrs = public] 333CHECK: - Method [type = 0x104F, vftable offset = -1, attrs = public] 334CHECK: - Method [type = 0x1050, vftable offset = -1, attrs = public] 335CHECK: 0x1052 | LF_FIELDLIST [size = 356, unreferenced] 336CHECK: - LF_NESTTYPE [name = `type_e`, parent = 0x1047] 337CHECK: - LF_METHOD [name = `moduleAttribute`, # overloads = 3, overload list = 0x1051] 338CHECK: - LF_MEMBER [name = `type`, Type = 0x1047, offset = 0, attrs = public] 339CHECK: - LF_MEMBER [name = `name`, Type = 0x104B, offset = 8, attrs = public] 340CHECK: - LF_MEMBER [name = `version`, Type = 0x104B, offset = 16, attrs = public] 341CHECK: - LF_MEMBER [name = `uuid`, Type = 0x104B, offset = 24, attrs = public] 342CHECK: - LF_MEMBER [name = `lcid`, Type = 0x0074 (int), offset = 32, attrs = public] 343CHECK: - LF_MEMBER [name = `control`, Type = 0x0030 (bool), offset = 36, attrs = public] 344CHECK: - LF_MEMBER [name = `helpstring`, Type = 0x104B, offset = 40, attrs = public] 345CHECK: - LF_MEMBER [name = `helpstringcontext`, Type = 0x0074 (int), offset = 48, attrs = public] 346CHECK: - LF_MEMBER [name = `helpstringdll`, Type = 0x104B, offset = 56, attrs = public] 347CHECK: - LF_MEMBER [name = `helpfile`, Type = 0x104B, offset = 64, attrs = public] 348CHECK: - LF_MEMBER [name = `helpcontext`, Type = 0x0074 (int), offset = 72, attrs = public] 349CHECK: - LF_MEMBER [name = `hidden`, Type = 0x0030 (bool), offset = 76, attrs = public] 350CHECK: - LF_MEMBER [name = `restricted`, Type = 0x0030 (bool), offset = 77, attrs = public] 351CHECK: - LF_MEMBER [name = `custom`, Type = 0x104B, offset = 80, attrs = public] 352CHECK: - LF_MEMBER [name = `resource_name`, Type = 0x104B, offset = 88, attrs = public] 353CHECK: 0x1053 | LF_STRUCTURE [size = 96, unreferenced] `__vc_attributes::moduleAttribute` 354CHECK: unique name: `.?AUmoduleAttribute@__vc_attributes@@` 355CHECK: vtable: <no type>, base list: <no type>, field list: 0x1052 356CHECK: options: has ctor / dtor | contains nested class | has unique name, sizeof 96 357CHECK: 0x1054 | LF_STRUCTURE [size = 48, referenced] `Nested::F` 358CHECK: unique name: `.?AUF@Nested@@` 359CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 360CHECK: options: forward ref (-> 0x1057) | has unique name | is nested, sizeof 0 361CHECK: 0x1055 | LF_FIELDLIST [size = 16, referenced] 362CHECK: - LF_NESTTYPE [name = `F`, parent = 0x1054] 363CHECK: 0x1056 | LF_STRUCTURE [size = 44, referenced] `Nested` 364CHECK: unique name: `.?AUNested@@` 365CHECK: vtable: <no type>, base list: <no type>, field list: 0x1055 366CHECK: options: contains nested class | has unique name, sizeof 1 367CHECK: 0x1057 | LF_STRUCTURE [size = 48, referenced] `Nested::F` 368CHECK: unique name: `.?AUF@Nested@@` 369CHECK: vtable: <no type>, base list: <no type>, field list: 0x1007 370CHECK: options: has unique name | is nested, sizeof 1 371CHECK: 0x1058 | LF_STRUCTURE [size = 52, referenced] `Constructor` 372CHECK: unique name: `.?AUConstructor@@` 373CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 374CHECK: options: forward ref (-> 0x105C) | has unique name, sizeof 0 375CHECK: 0x1059 | LF_POINTER [size = 12, referenced] 376CHECK: referent = 0x1058, mode = pointer, opts = const, kind = ptr64 377CHECK: 0x105A | LF_MFUNCTION [size = 28, referenced] 378CHECK: return type = 0x0003 (void), # args = 0, param list = 0x1012 379CHECK: class type = 0x1058, this type = 0x1059, this adjust = 0 380CHECK: calling conv = cdecl, options = constructor 381CHECK: 0x105B | LF_FIELDLIST [size = 24, referenced] 382CHECK: - LF_ONEMETHOD [name = `Constructor`] 383CHECK: type = 0x105A, vftable offset = -1, attrs = public 384CHECK: 0x105C | LF_STRUCTURE [size = 52, referenced] `Constructor` 385CHECK: unique name: `.?AUConstructor@@` 386CHECK: vtable: <no type>, base list: <no type>, field list: 0x105B 387CHECK: options: has ctor / dtor | has unique name, sizeof 1 388CHECK: 0x105D | LF_CLASS [size = 40, referenced] `Class` 389CHECK: unique name: `.?AVClass@@` 390CHECK: vtable: <no type>, base list: <no type>, field list: 0x1007 391CHECK: options: has unique name, sizeof 1 392CHECK: 0x105E | LF_UNION [size = 32, referenced] `Union` 393CHECK: unique name: `.?ATUnion@@` 394CHECK: field list: 0x1007 395CHECK: options: has unique name | sealed, sizeof 1 396CHECK: 0x105F | LF_STRUCTURE [size = 48, referenced] `Operator` 397CHECK: unique name: `.?AUOperator@@` 398CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 399CHECK: options: forward ref (-> 0x1064) | has unique name, sizeof 0 400CHECK: 0x1060 | LF_POINTER [size = 12, referenced] 401CHECK: referent = 0x105F, mode = pointer, opts = const, kind = ptr64 402CHECK: 0x1061 | LF_ARGLIST [size = 12, referenced] 403CHECK: 0x0074 (int): `int` 404CHECK: 0x1062 | LF_MFUNCTION [size = 28, referenced] 405CHECK: return type = 0x0074 (int), # args = 1, param list = 0x1061 406CHECK: class type = 0x105F, this type = 0x1060, this adjust = 0 407CHECK: calling conv = cdecl, options = None 408CHECK: 0x1063 | LF_FIELDLIST [size = 24, referenced] 409CHECK: - LF_ONEMETHOD [name = `operator+`] 410CHECK: type = 0x1062, vftable offset = -1, attrs = public 411CHECK: 0x1064 | LF_STRUCTURE [size = 48, referenced] `Operator` 412CHECK: unique name: `.?AUOperator@@` 413CHECK: vtable: <no type>, base list: <no type>, field list: 0x1063 414CHECK: options: has unique name | overloaded operator, sizeof 1 415CHECK: 0x1065 | LF_FIELDLIST [size = 12, referenced] 416CHECK: - LF_ENUMERATE [A = 0] 417CHECK: 0x1066 | LF_ENUM [size = 36, referenced] `Enum` 418CHECK: unique name: `.?AW4Enum@@` 419CHECK: field list: 0x1065, underlying type: 0x0074 (int) 420CHECK: options: has unique name 421CHECK: 0x1067 | LF_STRUCTURE [size = 40, referenced] `Cast` 422CHECK: unique name: `.?AUCast@@` 423CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 424CHECK: options: forward ref (-> 0x106B) | has unique name, sizeof 0 425CHECK: 0x1068 | LF_POINTER [size = 12, referenced] 426CHECK: referent = 0x1067, mode = pointer, opts = const, kind = ptr64 427CHECK: 0x1069 | LF_MFUNCTION [size = 28, referenced] 428CHECK: return type = 0x0074 (int), # args = 0, param list = 0x1012 429CHECK: class type = 0x1067, this type = 0x1068, this adjust = 0 430CHECK: calling conv = cdecl, options = None 431CHECK: 0x106A | LF_FIELDLIST [size = 28, referenced] 432CHECK: - LF_ONEMETHOD [name = `operator int`] 433CHECK: type = 0x1069, vftable offset = -1, attrs = public 434CHECK: 0x106B | LF_STRUCTURE [size = 40, referenced] `Cast` 435CHECK: unique name: `.?AUCast@@` 436CHECK: vtable: <no type>, base list: <no type>, field list: 0x106A 437CHECK: options: conversion operator | has unique name | overloaded operator, sizeof 1 438CHECK: 0x106C | LF_STRUCTURE [size = 44, referenced] `Nothing` 439CHECK: unique name: `.?AUNothing@@` 440CHECK: vtable: <no type>, base list: <no type>, field list: 0x1007 441CHECK: options: has unique name, sizeof 1 442CHECK: 0x106D | LF_STRUCTURE [size = 52, referenced] `Assignment` 443CHECK: unique name: `.?AUAssignment@@` 444CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 445CHECK: options: forward ref (-> 0x1073) | has unique name, sizeof 0 446CHECK: 0x106E | LF_POINTER [size = 12, referenced] 447CHECK: referent = 0x106D, mode = ref, opts = None, kind = ptr64 448CHECK: 0x106F | LF_POINTER [size = 12, referenced] 449CHECK: referent = 0x106D, mode = pointer, opts = const, kind = ptr64 450CHECK: 0x1070 | LF_ARGLIST [size = 12, referenced] 451CHECK: 0x106D: `Assignment` 452CHECK: 0x1071 | LF_MFUNCTION [size = 28, referenced] 453CHECK: return type = 0x106E, # args = 1, param list = 0x1070 454CHECK: class type = 0x106D, this type = 0x106F, this adjust = 0 455CHECK: calling conv = cdecl, options = None 456CHECK: 0x1072 | LF_FIELDLIST [size = 24, referenced] 457CHECK: - LF_ONEMETHOD [name = `operator=`] 458CHECK: type = 0x1071, vftable offset = -1, attrs = public 459CHECK: 0x1073 | LF_STRUCTURE [size = 52, referenced] `Assignment` 460CHECK: unique name: `.?AUAssignment@@` 461CHECK: vtable: <no type>, base list: <no type>, field list: 0x1072 462CHECK: options: has unique name | overloaded operator | overloaded operator=, sizeof 1 463CHECK: 0x1074 | LF_STRUCTURE [size = 44, referenced] `Nothing` 464CHECK: unique name: `.?AUNothing@@` 465CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 466CHECK: options: forward ref (<- 0x106C) | has unique name, sizeof 0 467CHECK: 0x1075 | LF_MODIFIER [size = 12, referenced] 468CHECK: referent = 0x1074, modifiers = const 469CHECK: 0x1076 | LF_ARGLIST [size = 12, referenced] 470CHECK: 0x1075: `const Nothing` 471CHECK: 0x1077 | LF_PROCEDURE [size = 16, referenced] 472CHECK: return type = 0x0003 (void), # args = 1, param list = 0x1076 473CHECK: calling conv = cdecl, options = None 474CHECK: 0x1078 | LF_MODIFIER [size = 12, referenced] 475CHECK: referent = 0x1074, modifiers = volatile 476CHECK: 0x1079 | LF_ARGLIST [size = 12, referenced] 477CHECK: 0x1078: `volatile Nothing` 478CHECK: 0x107A | LF_PROCEDURE [size = 16, referenced] 479CHECK: return type = 0x0003 (void), # args = 1, param list = 0x1079 480CHECK: calling conv = cdecl, options = None 481CHECK: 0x107B | LF_MODIFIER [size = 12, referenced] 482CHECK: referent = 0x1074, modifiers = const | volatile 483CHECK: 0x107C | LF_ARGLIST [size = 12, referenced] 484CHECK: 0x107B: `const volatile Nothing` 485CHECK: 0x107D | LF_PROCEDURE [size = 16, referenced] 486CHECK: return type = 0x0003 (void), # args = 1, param list = 0x107C 487CHECK: calling conv = cdecl, options = None 488CHECK: 0x107E | LF_MODIFIER [size = 12, referenced] 489CHECK: referent = 0x1074, modifiers = unaligned 490CHECK: 0x107F | LF_ARGLIST [size = 12, referenced] 491CHECK: 0x107E: `__unaligned Nothing` 492CHECK: 0x1080 | LF_PROCEDURE [size = 16, referenced] 493CHECK: return type = 0x0003 (void), # args = 1, param list = 0x107F 494CHECK: calling conv = cdecl, options = None 495CHECK: 0x1081 | LF_UNION [size = 32, referenced] `Union` 496CHECK: unique name: `.?ATUnion@@` 497CHECK: field list: <no type> 498CHECK: options: forward ref (<- 0x105E) | has unique name, sizeof 0 499CHECK: 0x1082 | LF_ARGLIST [size = 12, referenced] 500CHECK: 0x1081: `Union` 501CHECK: 0x1083 | LF_PROCEDURE [size = 16, referenced] 502CHECK: return type = 0x0003 (void), # args = 1, param list = 0x1082 503CHECK: calling conv = cdecl, options = None 504CHECK: 0x1084 | LF_STRUCTURE [size = 124, referenced] `main::__l2::<unnamed-type-Anonymous>` 505CHECK: unique name: `.?AU<unnamed-type-Anonymous>@?1??main@@YAHHPEAPEAD@Z@`aa6523bc` 506CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 507CHECK: options: forward ref (<- 0x1008) | has unique name | scoped, sizeof 0 508CHECK: 0x1085 | LF_ARGLIST [size = 12, referenced] 509CHECK: 0x1084: `main::__l2::<unnamed-type-Anonymous>` 510CHECK: 0x1086 | LF_PROCEDURE [size = 16, referenced] 511CHECK: return type = 0x0003 (void), # args = 1, param list = 0x1085 512CHECK: calling conv = cdecl, options = None 513CHECK: 0x1087 | LF_PROCEDURE [size = 16, referenced] 514CHECK: return type = 0x0003 (void), # args = 1, param list = 0x1070 515CHECK: calling conv = cdecl, options = None 516CHECK: 0x1088 | LF_ARGLIST [size = 12, referenced] 517CHECK: 0x1067: `Cast` 518CHECK: 0x1089 | LF_PROCEDURE [size = 16, referenced] 519CHECK: return type = 0x0003 (void), # args = 1, param list = 0x1088 520CHECK: calling conv = cdecl, options = None 521CHECK: 0x108A | LF_ARGLIST [size = 12, referenced] 522CHECK: 0x1058: `Constructor` 523CHECK: 0x108B | LF_PROCEDURE [size = 16, referenced] 524CHECK: return type = 0x0003 (void), # args = 1, param list = 0x108A 525CHECK: calling conv = cdecl, options = None 526CHECK: 0x108C | LF_ARGLIST [size = 12, referenced] 527CHECK: 0x1054: `Nested::F` 528CHECK: 0x108D | LF_PROCEDURE [size = 16, referenced] 529CHECK: return type = 0x0003 (void), # args = 1, param list = 0x108C 530CHECK: calling conv = cdecl, options = None 531CHECK: 0x108E | LF_STRUCTURE [size = 44, referenced] `Nested` 532CHECK: unique name: `.?AUNested@@` 533CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 534CHECK: options: forward ref (<- 0x1056) | has unique name, sizeof 0 535CHECK: 0x108F | LF_ARGLIST [size = 12, referenced] 536CHECK: 0x108E: `Nested` 537CHECK: 0x1090 | LF_PROCEDURE [size = 16, referenced] 538CHECK: return type = 0x0003 (void), # args = 1, param list = 0x108F 539CHECK: calling conv = cdecl, options = None 540CHECK: 0x1091 | LF_ARGLIST [size = 12, referenced] 541CHECK: 0x1074: `Nothing` 542CHECK: 0x1092 | LF_PROCEDURE [size = 16, referenced] 543CHECK: return type = 0x0003 (void), # args = 1, param list = 0x1091 544CHECK: calling conv = cdecl, options = None 545CHECK: 0x1093 | LF_ARGLIST [size = 12, referenced] 546CHECK: 0x105F: `Operator` 547CHECK: 0x1094 | LF_PROCEDURE [size = 16, referenced] 548CHECK: return type = 0x0003 (void), # args = 1, param list = 0x1093 549CHECK: calling conv = cdecl, options = None 550CHECK: 0x1095 | LF_STRUCTURE [size = 88, referenced] `main::__l2::Scoped` 551CHECK: unique name: `.?AUScoped@?1??main@@YAHHPEAPEAD@Z@`aa6523bc` 552CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 553CHECK: options: forward ref (<- 0x1009) | has unique name | scoped, sizeof 0 554CHECK: 0x1096 | LF_ARGLIST [size = 12, referenced] 555CHECK: 0x1095: `main::__l2::Scoped` 556CHECK: 0x1097 | LF_PROCEDURE [size = 16, referenced] 557CHECK: return type = 0x0003 (void), # args = 1, param list = 0x1096 558CHECK: calling conv = cdecl, options = None 559CHECK: 0x1098 | LF_CLASS [size = 40, referenced] `Class` 560CHECK: unique name: `.?AVClass@@` 561CHECK: vtable: <no type>, base list: <no type>, field list: <no type> 562CHECK: options: forward ref (<- 0x105D) | has unique name, sizeof 0 563CHECK: 0x1099 | LF_ARGLIST [size = 12, referenced] 564CHECK: 0x1098: `Class` 565CHECK: 0x109A | LF_PROCEDURE [size = 16, referenced] 566CHECK: return type = 0x0003 (void), # args = 1, param list = 0x1099 567CHECK: calling conv = cdecl, options = None 568CHECK: 0x109B | LF_ARGLIST [size = 12, referenced] 569CHECK: 0x1066: `Enum` 570CHECK: 0x109C | LF_PROCEDURE [size = 16, referenced] 571CHECK: return type = 0x0003 (void), # args = 1, param list = 0x109B 572CHECK: calling conv = cdecl, options = None 573 574CHECK: Type Reference Statistics 575CHECK: ============================================================ 576CHECK: Records referenced: 84 / 157 53.50% 577CHECK: Bytes referenced: 2,188 / 7,500 29.17% 578