1; Test that the native PDB reader can enumerate pointer types. The output 2; being checked against is golden output generated by llvm-pdbutil without 3; the -native flag. Then we check that we generate the same output. 4 5; RUN: llvm-pdbutil pretty -native -funcsigs %p/../Inputs/every-function.pdb \ 6; RUN: | FileCheck -check-prefix=PRETTY %s 7 8; RUN: llvm-pdbutil diadump -native -funcsigs %p/../Inputs/every-function.pdb \ 9; RUN: | FileCheck -check-prefix=DUMP %s 10 11 12; PRETTY: void __cdecl (void*, unsigned int) 13; PRETTY-NEXT: void __cdecl (void*, unsigned __int64) 14; PRETTY-NEXT: int __cdecl () 15; PRETTY-NEXT: int () 16; PRETTY-NEXT: int __fastcall () 17; PRETTY-NEXT: int __vectorcall () 18; PRETTY-NEXT: int __cdecl (int) 19; PRETTY-NEXT: int __cdecl (int, char) 20; PRETTY-NEXT: void __cdecl (Struct) 21; PRETTY-NEXT: void (Struct::)() 22; PRETTY-NEXT: int (Struct::)() 23; PRETTY-NEXT: void (Struct::)() 24; PRETTY-NEXT: void (Struct::)() 25; PRETTY-NEXT: void (Struct::)() 26; PRETTY-NEXT: void (Struct::)() 27; PRETTY-NEXT: void __cdecl (const int) 28; PRETTY-NEXT: void __cdecl (Struct) 29; PRETTY-NEXT: void __cdecl (int*) 30; PRETTY-NEXT: void __cdecl (Struct*) 31; PRETTY-NEXT: void __cdecl (const int*) 32; PRETTY-NEXT: void __cdecl (Struct*) 33; PRETTY-NEXT: Struct __cdecl () 34; PRETTY-NEXT: void (Derived::)(Derived*) 35; PRETTY-NEXT: void (Derived::)(Derived&) 36; PRETTY-NEXT: void (Derived::)() 37; PRETTY-NEXT: void (Derived::)() 38; PRETTY-NEXT: Derived& (Derived::)(Derived*) 39; PRETTY-NEXT: Derived& (Derived::)(Derived&) 40; PRETTY-NEXT: void (Derived::)() 41; PRETTY-NEXT: void* (Derived::)(unsigned int) 42; PRETTY-NEXT: void (__vc_attributes::event_sourceAttribute::)(__vc_attributes::event_sourceAttribute::type_e) 43; PRETTY-NEXT: void (__vc_attributes::event_sourceAttribute::)() 44; PRETTY-NEXT: void (__vc_attributes::helper_attributes::v1_alttypeAttribute::)(__vc_attributes::helper_attributes::v1_alttypeAttribute::type_e) 45; PRETTY-NEXT: void (__vc_attributes::helper_attributes::usageAttribute::)(unsigned int) 46; PRETTY-NEXT: void (__vc_attributes::threadingAttribute::)(__vc_attributes::threadingAttribute::threading_e) 47; PRETTY-NEXT: void (__vc_attributes::threadingAttribute::)() 48; PRETTY-NEXT: void (__vc_attributes::aggregatableAttribute::)(__vc_attributes::aggregatableAttribute::type_e) 49; PRETTY-NEXT: void (__vc_attributes::aggregatableAttribute::)() 50; PRETTY-NEXT: void (__vc_attributes::event_receiverAttribute::)(__vc_attributes::event_receiverAttribute::type_e, bool) 51; PRETTY-NEXT: void (__vc_attributes::event_receiverAttribute::)(__vc_attributes::event_receiverAttribute::type_e) 52; PRETTY-NEXT: void (__vc_attributes::event_receiverAttribute::)() 53; PRETTY-NEXT: void (__vc_attributes::moduleAttribute::)(__vc_attributes::moduleAttribute::type_e, const char*, const char*, const char*, int, bool, const char*, int, const char*, const char*, int, bool, bool, const char*, const char*) 54; PRETTY-NEXT: void (__vc_attributes::moduleAttribute::)(__vc_attributes::moduleAttribute::type_e) 55; PRETTY-NEXT: void (__vc_attributes::moduleAttribute::)() 56; PRETTY-NEXT: void (Base1::)() 57; PRETTY-NEXT: void (Base1::)(Base1&) 58; PRETTY-NEXT: void (Base1::)() 59; PRETTY-NEXT: Base1& (Base1::)(Base1&) 60; PRETTY-NEXT: void* (Base1::)(unsigned int) 61; PRETTY-NEXT: void (Base2::)(Base2*) 62; PRETTY-NEXT: void (Base2::)(Base2&) 63; PRETTY-NEXT: void (Base2::)() 64; PRETTY-NEXT: void (Base2::)() 65; PRETTY-NEXT: Base2& (Base2::)(Base2*) 66; PRETTY-NEXT: Base2& (Base2::)(Base2&) 67; PRETTY-NEXT: void (Base2::)() 68; PRETTY-NEXT: void* (Base2::)(unsigned int) 69; PRETTY-NEXT: void __cdecl () 70 71; DUMP: { 72; DUMP-NEXT: symIndexId: 2 73; DUMP-NEXT: symTag: FunctionSig 74; DUMP-NEXT: callingConvention: __cdecl 75; DUMP-NEXT: count: 2 76; DUMP-NEXT: typeId: 3 77; DUMP-NEXT: constructor: 0 78; DUMP-NEXT: constType: 0 79; DUMP-NEXT: isConstructorVirtualBase: 0 80; DUMP-NEXT: isCxxReturnUdt: 0 81; DUMP-NEXT: unalignedType: 0 82; DUMP-NEXT: volatileType: 0 83; DUMP-NEXT: } 84; DUMP-NEXT: { 85; DUMP-NEXT: symIndexId: 4 86; DUMP-NEXT: symTag: FunctionSig 87; DUMP-NEXT: callingConvention: __cdecl 88; DUMP-NEXT: count: 2 89; DUMP-NEXT: typeId: 3 90; DUMP-NEXT: constructor: 0 91; DUMP-NEXT: constType: 0 92; DUMP-NEXT: isConstructorVirtualBase: 0 93; DUMP-NEXT: isCxxReturnUdt: 0 94; DUMP-NEXT: unalignedType: 0 95; DUMP-NEXT: volatileType: 0 96; DUMP-NEXT: } 97; DUMP-NEXT: { 98; DUMP-NEXT: symIndexId: 5 99; DUMP-NEXT: symTag: FunctionSig 100; DUMP-NEXT: callingConvention: __cdecl 101; DUMP-NEXT: count: 0 102; DUMP-NEXT: typeId: 6 103; DUMP-NEXT: constructor: 0 104; DUMP-NEXT: constType: 0 105; DUMP-NEXT: isConstructorVirtualBase: 0 106; DUMP-NEXT: isCxxReturnUdt: 0 107; DUMP-NEXT: unalignedType: 0 108; DUMP-NEXT: volatileType: 0 109; DUMP-NEXT: } 110; DUMP-NEXT: { 111; DUMP-NEXT: symIndexId: 7 112; DUMP-NEXT: symTag: FunctionSig 113; DUMP-NEXT: callingConvention: __stdcall 114; DUMP-NEXT: count: 0 115; DUMP-NEXT: typeId: 6 116; DUMP-NEXT: constructor: 0 117; DUMP-NEXT: constType: 0 118; DUMP-NEXT: isConstructorVirtualBase: 0 119; DUMP-NEXT: isCxxReturnUdt: 0 120; DUMP-NEXT: unalignedType: 0 121; DUMP-NEXT: volatileType: 0 122; DUMP-NEXT: } 123; DUMP-NEXT: { 124; DUMP-NEXT: symIndexId: 8 125; DUMP-NEXT: symTag: FunctionSig 126; DUMP-NEXT: callingConvention: __fastcall 127; DUMP-NEXT: count: 0 128; DUMP-NEXT: typeId: 6 129; DUMP-NEXT: constructor: 0 130; DUMP-NEXT: constType: 0 131; DUMP-NEXT: isConstructorVirtualBase: 0 132; DUMP-NEXT: isCxxReturnUdt: 0 133; DUMP-NEXT: unalignedType: 0 134; DUMP-NEXT: volatileType: 0 135; DUMP-NEXT: } 136; DUMP-NEXT: { 137; DUMP-NEXT: symIndexId: 9 138; DUMP-NEXT: symTag: FunctionSig 139; DUMP-NEXT: callingConvention: __vectorcall 140; DUMP-NEXT: count: 0 141; DUMP-NEXT: typeId: 6 142; DUMP-NEXT: constructor: 0 143; DUMP-NEXT: constType: 0 144; DUMP-NEXT: isConstructorVirtualBase: 0 145; DUMP-NEXT: isCxxReturnUdt: 0 146; DUMP-NEXT: unalignedType: 0 147; DUMP-NEXT: volatileType: 0 148; DUMP-NEXT: } 149; DUMP-NEXT: { 150; DUMP-NEXT: symIndexId: 10 151; DUMP-NEXT: symTag: FunctionSig 152; DUMP-NEXT: callingConvention: __cdecl 153; DUMP-NEXT: count: 1 154; DUMP-NEXT: typeId: 6 155; DUMP-NEXT: constructor: 0 156; DUMP-NEXT: constType: 0 157; DUMP-NEXT: isConstructorVirtualBase: 0 158; DUMP-NEXT: isCxxReturnUdt: 0 159; DUMP-NEXT: unalignedType: 0 160; DUMP-NEXT: volatileType: 0 161; DUMP-NEXT: } 162; DUMP-NEXT: { 163; DUMP-NEXT: symIndexId: 11 164; DUMP-NEXT: symTag: FunctionSig 165; DUMP-NEXT: callingConvention: __cdecl 166; DUMP-NEXT: count: 2 167; DUMP-NEXT: typeId: 6 168; DUMP-NEXT: constructor: 0 169; DUMP-NEXT: constType: 0 170; DUMP-NEXT: isConstructorVirtualBase: 0 171; DUMP-NEXT: isCxxReturnUdt: 0 172; DUMP-NEXT: unalignedType: 0 173; DUMP-NEXT: volatileType: 0 174; DUMP-NEXT: } 175; DUMP-NEXT: { 176; DUMP-NEXT: symIndexId: 12 177; DUMP-NEXT: symTag: FunctionSig 178; DUMP-NEXT: callingConvention: __cdecl 179; DUMP-NEXT: count: 1 180; DUMP-NEXT: typeId: 3 181; DUMP-NEXT: constructor: 0 182; DUMP-NEXT: constType: 0 183; DUMP-NEXT: isConstructorVirtualBase: 0 184; DUMP-NEXT: isCxxReturnUdt: 0 185; DUMP-NEXT: unalignedType: 0 186; DUMP-NEXT: volatileType: 0 187; DUMP-NEXT: } 188; DUMP-NEXT: { 189; DUMP-NEXT: symIndexId: 13 190; DUMP-NEXT: symTag: FunctionSig 191; DUMP-NEXT: callingConvention: __thiscall 192; DUMP-NEXT: count: 1 193; DUMP-NEXT: typeId: 3 194; DUMP-NEXT: thisAdjust: 0 195; DUMP-NEXT: constructor: 1 196; DUMP-NEXT: constType: 0 197; DUMP-NEXT: isConstructorVirtualBase: 0 198; DUMP-NEXT: isCxxReturnUdt: 0 199; DUMP-NEXT: unalignedType: 0 200; DUMP-NEXT: volatileType: 0 201; DUMP-NEXT: } 202; DUMP-NEXT: { 203; DUMP-NEXT: symIndexId: 15 204; DUMP-NEXT: symTag: FunctionSig 205; DUMP-NEXT: callingConvention: __thiscall 206; DUMP-NEXT: count: 1 207; DUMP-NEXT: typeId: 6 208; DUMP-NEXT: thisAdjust: 0 209; DUMP-NEXT: constructor: 0 210; DUMP-NEXT: constType: 0 211; DUMP-NEXT: isConstructorVirtualBase: 0 212; DUMP-NEXT: isCxxReturnUdt: 0 213; DUMP-NEXT: unalignedType: 0 214; DUMP-NEXT: volatileType: 0 215; DUMP-NEXT: } 216; DUMP-NEXT: { 217; DUMP-NEXT: symIndexId: 16 218; DUMP-NEXT: symTag: FunctionSig 219; DUMP-NEXT: callingConvention: __thiscall 220; DUMP-NEXT: count: 1 221; DUMP-NEXT: typeId: 3 222; DUMP-NEXT: thisAdjust: 0 223; DUMP-NEXT: constructor: 0 224; DUMP-NEXT: constType: 0 225; DUMP-NEXT: isConstructorVirtualBase: 0 226; DUMP-NEXT: isCxxReturnUdt: 0 227; DUMP-NEXT: unalignedType: 0 228; DUMP-NEXT: volatileType: 0 229; DUMP-NEXT: } 230; DUMP-NEXT: { 231; DUMP-NEXT: symIndexId: 17 232; DUMP-NEXT: symTag: FunctionSig 233; DUMP-NEXT: callingConvention: __thiscall 234; DUMP-NEXT: count: 1 235; DUMP-NEXT: typeId: 3 236; DUMP-NEXT: thisAdjust: 0 237; DUMP-NEXT: constructor: 0 238; DUMP-NEXT: constType: 0 239; DUMP-NEXT: isConstructorVirtualBase: 0 240; DUMP-NEXT: isCxxReturnUdt: 0 241; DUMP-NEXT: unalignedType: 0 242; DUMP-NEXT: volatileType: 0 243; DUMP-NEXT: } 244; DUMP-NEXT: { 245; DUMP-NEXT: symIndexId: 18 246; DUMP-NEXT: symTag: FunctionSig 247; DUMP-NEXT: callingConvention: __thiscall 248; DUMP-NEXT: count: 1 249; DUMP-NEXT: typeId: 3 250; DUMP-NEXT: thisAdjust: 0 251; DUMP-NEXT: constructor: 0 252; DUMP-NEXT: constType: 0 253; DUMP-NEXT: isConstructorVirtualBase: 0 254; DUMP-NEXT: isCxxReturnUdt: 0 255; DUMP-NEXT: unalignedType: 0 256; DUMP-NEXT: volatileType: 0 257; DUMP-NEXT: } 258; DUMP-NEXT: { 259; DUMP-NEXT: symIndexId: 19 260; DUMP-NEXT: symTag: FunctionSig 261; DUMP-NEXT: callingConvention: __thiscall 262; DUMP-NEXT: count: 1 263; DUMP-NEXT: typeId: 3 264; DUMP-NEXT: thisAdjust: 0 265; DUMP-NEXT: constructor: 0 266; DUMP-NEXT: constType: 0 267; DUMP-NEXT: isConstructorVirtualBase: 0 268; DUMP-NEXT: isCxxReturnUdt: 0 269; DUMP-NEXT: unalignedType: 0 270; DUMP-NEXT: volatileType: 0 271; DUMP-NEXT: } 272; DUMP-NEXT: { 273; DUMP-NEXT: symIndexId: 20 274; DUMP-NEXT: symTag: FunctionSig 275; DUMP-NEXT: callingConvention: __cdecl 276; DUMP-NEXT: count: 1 277; DUMP-NEXT: typeId: 3 278; DUMP-NEXT: constructor: 0 279; DUMP-NEXT: constType: 0 280; DUMP-NEXT: isConstructorVirtualBase: 0 281; DUMP-NEXT: isCxxReturnUdt: 0 282; DUMP-NEXT: unalignedType: 0 283; DUMP-NEXT: volatileType: 0 284; DUMP-NEXT: } 285; DUMP-NEXT: { 286; DUMP-NEXT: symIndexId: 21 287; DUMP-NEXT: symTag: FunctionSig 288; DUMP-NEXT: callingConvention: __cdecl 289; DUMP-NEXT: count: 1 290; DUMP-NEXT: typeId: 3 291; DUMP-NEXT: constructor: 0 292; DUMP-NEXT: constType: 0 293; DUMP-NEXT: isConstructorVirtualBase: 0 294; DUMP-NEXT: isCxxReturnUdt: 0 295; DUMP-NEXT: unalignedType: 0 296; DUMP-NEXT: volatileType: 0 297; DUMP-NEXT: } 298; DUMP-NEXT: { 299; DUMP-NEXT: symIndexId: 22 300; DUMP-NEXT: symTag: FunctionSig 301; DUMP-NEXT: callingConvention: __cdecl 302; DUMP-NEXT: count: 1 303; DUMP-NEXT: typeId: 3 304; DUMP-NEXT: constructor: 0 305; DUMP-NEXT: constType: 0 306; DUMP-NEXT: isConstructorVirtualBase: 0 307; DUMP-NEXT: isCxxReturnUdt: 0 308; DUMP-NEXT: unalignedType: 0 309; DUMP-NEXT: volatileType: 0 310; DUMP-NEXT: } 311; DUMP-NEXT: { 312; DUMP-NEXT: symIndexId: 23 313; DUMP-NEXT: symTag: FunctionSig 314; DUMP-NEXT: callingConvention: __cdecl 315; DUMP-NEXT: count: 1 316; DUMP-NEXT: typeId: 3 317; DUMP-NEXT: constructor: 0 318; DUMP-NEXT: constType: 0 319; DUMP-NEXT: isConstructorVirtualBase: 0 320; DUMP-NEXT: isCxxReturnUdt: 0 321; DUMP-NEXT: unalignedType: 0 322; DUMP-NEXT: volatileType: 0 323; DUMP-NEXT: } 324; DUMP-NEXT: { 325; DUMP-NEXT: symIndexId: 24 326; DUMP-NEXT: symTag: FunctionSig 327; DUMP-NEXT: callingConvention: __cdecl 328; DUMP-NEXT: count: 1 329; DUMP-NEXT: typeId: 3 330; DUMP-NEXT: constructor: 0 331; DUMP-NEXT: constType: 0 332; DUMP-NEXT: isConstructorVirtualBase: 0 333; DUMP-NEXT: isCxxReturnUdt: 0 334; DUMP-NEXT: unalignedType: 0 335; DUMP-NEXT: volatileType: 0 336; DUMP-NEXT: } 337; DUMP-NEXT: { 338; DUMP-NEXT: symIndexId: 25 339; DUMP-NEXT: symTag: FunctionSig 340; DUMP-NEXT: callingConvention: __cdecl 341; DUMP-NEXT: count: 1 342; DUMP-NEXT: typeId: 3 343; DUMP-NEXT: constructor: 0 344; DUMP-NEXT: constType: 0 345; DUMP-NEXT: isConstructorVirtualBase: 0 346; DUMP-NEXT: isCxxReturnUdt: 0 347; DUMP-NEXT: unalignedType: 0 348; DUMP-NEXT: volatileType: 0 349; DUMP-NEXT: } 350; DUMP-NEXT: { 351; DUMP-NEXT: symIndexId: 26 352; DUMP-NEXT: symTag: FunctionSig 353; DUMP-NEXT: callingConvention: __cdecl 354; DUMP-NEXT: count: 0 355; DUMP-NEXT: typeId: 14 356; DUMP-NEXT: constructor: 0 357; DUMP-NEXT: constType: 0 358; DUMP-NEXT: isConstructorVirtualBase: 0 359; DUMP-NEXT: isCxxReturnUdt: 1 360; DUMP-NEXT: unalignedType: 0 361; DUMP-NEXT: volatileType: 0 362; DUMP-NEXT: } 363; DUMP-NEXT: { 364; DUMP-NEXT: symIndexId: 27 365; DUMP-NEXT: symTag: FunctionSig 366; DUMP-NEXT: callingConvention: __thiscall 367; DUMP-NEXT: count: 2 368; DUMP-NEXT: typeId: 3 369; DUMP-NEXT: thisAdjust: 0 370; DUMP-NEXT: constructor: 1 371; DUMP-NEXT: constType: 0 372; DUMP-NEXT: isConstructorVirtualBase: 1 373; DUMP-NEXT: isCxxReturnUdt: 0 374; DUMP-NEXT: unalignedType: 0 375; DUMP-NEXT: volatileType: 0 376; DUMP-NEXT: } 377; DUMP-NEXT: { 378; DUMP-NEXT: symIndexId: 29 379; DUMP-NEXT: symTag: FunctionSig 380; DUMP-NEXT: callingConvention: __thiscall 381; DUMP-NEXT: count: 2 382; DUMP-NEXT: typeId: 3 383; DUMP-NEXT: thisAdjust: 0 384; DUMP-NEXT: constructor: 1 385; DUMP-NEXT: constType: 0 386; DUMP-NEXT: isConstructorVirtualBase: 1 387; DUMP-NEXT: isCxxReturnUdt: 0 388; DUMP-NEXT: unalignedType: 0 389; DUMP-NEXT: volatileType: 0 390; DUMP-NEXT: } 391; DUMP-NEXT: { 392; DUMP-NEXT: symIndexId: 30 393; DUMP-NEXT: symTag: FunctionSig 394; DUMP-NEXT: callingConvention: __thiscall 395; DUMP-NEXT: count: 1 396; DUMP-NEXT: typeId: 3 397; DUMP-NEXT: thisAdjust: 0 398; DUMP-NEXT: constructor: 1 399; DUMP-NEXT: constType: 0 400; DUMP-NEXT: isConstructorVirtualBase: 1 401; DUMP-NEXT: isCxxReturnUdt: 0 402; DUMP-NEXT: unalignedType: 0 403; DUMP-NEXT: volatileType: 0 404; DUMP-NEXT: } 405; DUMP-NEXT: { 406; DUMP-NEXT: symIndexId: 31 407; DUMP-NEXT: symTag: FunctionSig 408; DUMP-NEXT: callingConvention: __thiscall 409; DUMP-NEXT: count: 1 410; DUMP-NEXT: typeId: 3 411; DUMP-NEXT: thisAdjust: 4 412; DUMP-NEXT: constructor: 0 413; DUMP-NEXT: constType: 0 414; DUMP-NEXT: isConstructorVirtualBase: 0 415; DUMP-NEXT: isCxxReturnUdt: 0 416; DUMP-NEXT: unalignedType: 0 417; DUMP-NEXT: volatileType: 0 418; DUMP-NEXT: } 419; DUMP-NEXT: { 420; DUMP-NEXT: symIndexId: 32 421; DUMP-NEXT: symTag: FunctionSig 422; DUMP-NEXT: callingConvention: __thiscall 423; DUMP-NEXT: count: 2 424; DUMP-NEXT: typeId: 33 425; DUMP-NEXT: thisAdjust: 0 426; DUMP-NEXT: constructor: 0 427; DUMP-NEXT: constType: 0 428; DUMP-NEXT: isConstructorVirtualBase: 0 429; DUMP-NEXT: isCxxReturnUdt: 0 430; DUMP-NEXT: unalignedType: 0 431; DUMP-NEXT: volatileType: 0 432; DUMP-NEXT: } 433; DUMP-NEXT: { 434; DUMP-NEXT: symIndexId: 34 435; DUMP-NEXT: symTag: FunctionSig 436; DUMP-NEXT: callingConvention: __thiscall 437; DUMP-NEXT: count: 2 438; DUMP-NEXT: typeId: 33 439; DUMP-NEXT: thisAdjust: 0 440; DUMP-NEXT: constructor: 0 441; DUMP-NEXT: constType: 0 442; DUMP-NEXT: isConstructorVirtualBase: 0 443; DUMP-NEXT: isCxxReturnUdt: 0 444; DUMP-NEXT: unalignedType: 0 445; DUMP-NEXT: volatileType: 0 446; DUMP-NEXT: } 447; DUMP-NEXT: { 448; DUMP-NEXT: symIndexId: 35 449; DUMP-NEXT: symTag: FunctionSig 450; DUMP-NEXT: callingConvention: __thiscall 451; DUMP-NEXT: count: 1 452; DUMP-NEXT: typeId: 3 453; DUMP-NEXT: thisAdjust: 0 454; DUMP-NEXT: constructor: 0 455; DUMP-NEXT: constType: 0 456; DUMP-NEXT: isConstructorVirtualBase: 0 457; DUMP-NEXT: isCxxReturnUdt: 0 458; DUMP-NEXT: unalignedType: 0 459; DUMP-NEXT: volatileType: 0 460; DUMP-NEXT: } 461; DUMP-NEXT: { 462; DUMP-NEXT: symIndexId: 36 463; DUMP-NEXT: symTag: FunctionSig 464; DUMP-NEXT: callingConvention: __thiscall 465; DUMP-NEXT: count: 2 466; DUMP-NEXT: typeId: 37 467; DUMP-NEXT: thisAdjust: 4 468; DUMP-NEXT: constructor: 0 469; DUMP-NEXT: constType: 0 470; DUMP-NEXT: isConstructorVirtualBase: 0 471; DUMP-NEXT: isCxxReturnUdt: 0 472; DUMP-NEXT: unalignedType: 0 473; DUMP-NEXT: volatileType: 0 474; DUMP-NEXT: } 475; DUMP-NEXT: { 476; DUMP-NEXT: symIndexId: 38 477; DUMP-NEXT: symTag: FunctionSig 478; DUMP-NEXT: callingConvention: __thiscall 479; DUMP-NEXT: count: 2 480; DUMP-NEXT: typeId: 3 481; DUMP-NEXT: thisAdjust: 0 482; DUMP-NEXT: constructor: 1 483; DUMP-NEXT: constType: 0 484; DUMP-NEXT: isConstructorVirtualBase: 0 485; DUMP-NEXT: isCxxReturnUdt: 0 486; DUMP-NEXT: unalignedType: 0 487; DUMP-NEXT: volatileType: 0 488; DUMP-NEXT: } 489; DUMP-NEXT: { 490; DUMP-NEXT: symIndexId: 40 491; DUMP-NEXT: symTag: FunctionSig 492; DUMP-NEXT: callingConvention: __thiscall 493; DUMP-NEXT: count: 1 494; DUMP-NEXT: typeId: 3 495; DUMP-NEXT: thisAdjust: 0 496; DUMP-NEXT: constructor: 1 497; DUMP-NEXT: constType: 0 498; DUMP-NEXT: isConstructorVirtualBase: 0 499; DUMP-NEXT: isCxxReturnUdt: 0 500; DUMP-NEXT: unalignedType: 0 501; DUMP-NEXT: volatileType: 0 502; DUMP-NEXT: } 503; DUMP-NEXT: { 504; DUMP-NEXT: symIndexId: 41 505; DUMP-NEXT: symTag: FunctionSig 506; DUMP-NEXT: callingConvention: __thiscall 507; DUMP-NEXT: count: 2 508; DUMP-NEXT: typeId: 3 509; DUMP-NEXT: thisAdjust: 0 510; DUMP-NEXT: constructor: 1 511; DUMP-NEXT: constType: 0 512; DUMP-NEXT: isConstructorVirtualBase: 0 513; DUMP-NEXT: isCxxReturnUdt: 0 514; DUMP-NEXT: unalignedType: 0 515; DUMP-NEXT: volatileType: 0 516; DUMP-NEXT: } 517; DUMP-NEXT: { 518; DUMP-NEXT: symIndexId: 43 519; DUMP-NEXT: symTag: FunctionSig 520; DUMP-NEXT: callingConvention: __thiscall 521; DUMP-NEXT: count: 2 522; DUMP-NEXT: typeId: 3 523; DUMP-NEXT: thisAdjust: 0 524; DUMP-NEXT: constructor: 1 525; DUMP-NEXT: constType: 0 526; DUMP-NEXT: isConstructorVirtualBase: 0 527; DUMP-NEXT: isCxxReturnUdt: 0 528; DUMP-NEXT: unalignedType: 0 529; DUMP-NEXT: volatileType: 0 530; DUMP-NEXT: } 531; DUMP-NEXT: { 532; DUMP-NEXT: symIndexId: 45 533; DUMP-NEXT: symTag: FunctionSig 534; DUMP-NEXT: callingConvention: __thiscall 535; DUMP-NEXT: count: 2 536; DUMP-NEXT: typeId: 3 537; DUMP-NEXT: thisAdjust: 0 538; DUMP-NEXT: constructor: 1 539; DUMP-NEXT: constType: 0 540; DUMP-NEXT: isConstructorVirtualBase: 0 541; DUMP-NEXT: isCxxReturnUdt: 0 542; DUMP-NEXT: unalignedType: 0 543; DUMP-NEXT: volatileType: 0 544; DUMP-NEXT: } 545; DUMP-NEXT: { 546; DUMP-NEXT: symIndexId: 47 547; DUMP-NEXT: symTag: FunctionSig 548; DUMP-NEXT: callingConvention: __thiscall 549; DUMP-NEXT: count: 1 550; DUMP-NEXT: typeId: 3 551; DUMP-NEXT: thisAdjust: 0 552; DUMP-NEXT: constructor: 1 553; DUMP-NEXT: constType: 0 554; DUMP-NEXT: isConstructorVirtualBase: 0 555; DUMP-NEXT: isCxxReturnUdt: 0 556; DUMP-NEXT: unalignedType: 0 557; DUMP-NEXT: volatileType: 0 558; DUMP-NEXT: } 559; DUMP-NEXT: { 560; DUMP-NEXT: symIndexId: 48 561; DUMP-NEXT: symTag: FunctionSig 562; DUMP-NEXT: callingConvention: __thiscall 563; DUMP-NEXT: count: 2 564; DUMP-NEXT: typeId: 3 565; DUMP-NEXT: thisAdjust: 0 566; DUMP-NEXT: constructor: 1 567; DUMP-NEXT: constType: 0 568; DUMP-NEXT: isConstructorVirtualBase: 0 569; DUMP-NEXT: isCxxReturnUdt: 0 570; DUMP-NEXT: unalignedType: 0 571; DUMP-NEXT: volatileType: 0 572; DUMP-NEXT: } 573; DUMP-NEXT: { 574; DUMP-NEXT: symIndexId: 50 575; DUMP-NEXT: symTag: FunctionSig 576; DUMP-NEXT: callingConvention: __thiscall 577; DUMP-NEXT: count: 1 578; DUMP-NEXT: typeId: 3 579; DUMP-NEXT: thisAdjust: 0 580; DUMP-NEXT: constructor: 1 581; DUMP-NEXT: constType: 0 582; DUMP-NEXT: isConstructorVirtualBase: 0 583; DUMP-NEXT: isCxxReturnUdt: 0 584; DUMP-NEXT: unalignedType: 0 585; DUMP-NEXT: volatileType: 0 586; DUMP-NEXT: } 587; DUMP-NEXT: { 588; DUMP-NEXT: symIndexId: 51 589; DUMP-NEXT: symTag: FunctionSig 590; DUMP-NEXT: callingConvention: __thiscall 591; DUMP-NEXT: count: 3 592; DUMP-NEXT: typeId: 3 593; DUMP-NEXT: thisAdjust: 0 594; DUMP-NEXT: constructor: 1 595; DUMP-NEXT: constType: 0 596; DUMP-NEXT: isConstructorVirtualBase: 0 597; DUMP-NEXT: isCxxReturnUdt: 0 598; DUMP-NEXT: unalignedType: 0 599; DUMP-NEXT: volatileType: 0 600; DUMP-NEXT: } 601; DUMP-NEXT: { 602; DUMP-NEXT: symIndexId: 53 603; DUMP-NEXT: symTag: FunctionSig 604; DUMP-NEXT: callingConvention: __thiscall 605; DUMP-NEXT: count: 2 606; DUMP-NEXT: typeId: 3 607; DUMP-NEXT: thisAdjust: 0 608; DUMP-NEXT: constructor: 1 609; DUMP-NEXT: constType: 0 610; DUMP-NEXT: isConstructorVirtualBase: 0 611; DUMP-NEXT: isCxxReturnUdt: 0 612; DUMP-NEXT: unalignedType: 0 613; DUMP-NEXT: volatileType: 0 614; DUMP-NEXT: } 615; DUMP-NEXT: { 616; DUMP-NEXT: symIndexId: 54 617; DUMP-NEXT: symTag: FunctionSig 618; DUMP-NEXT: callingConvention: __thiscall 619; DUMP-NEXT: count: 1 620; DUMP-NEXT: typeId: 3 621; DUMP-NEXT: thisAdjust: 0 622; DUMP-NEXT: constructor: 1 623; DUMP-NEXT: constType: 0 624; DUMP-NEXT: isConstructorVirtualBase: 0 625; DUMP-NEXT: isCxxReturnUdt: 0 626; DUMP-NEXT: unalignedType: 0 627; DUMP-NEXT: volatileType: 0 628; DUMP-NEXT: } 629; DUMP-NEXT: { 630; DUMP-NEXT: symIndexId: 55 631; DUMP-NEXT: symTag: FunctionSig 632; DUMP-NEXT: callingConvention: __thiscall 633; DUMP-NEXT: count: 16 634; DUMP-NEXT: typeId: 3 635; DUMP-NEXT: thisAdjust: 0 636; DUMP-NEXT: constructor: 1 637; DUMP-NEXT: constType: 0 638; DUMP-NEXT: isConstructorVirtualBase: 0 639; DUMP-NEXT: isCxxReturnUdt: 0 640; DUMP-NEXT: unalignedType: 0 641; DUMP-NEXT: volatileType: 0 642; DUMP-NEXT: } 643; DUMP-NEXT: { 644; DUMP-NEXT: symIndexId: 57 645; DUMP-NEXT: symTag: FunctionSig 646; DUMP-NEXT: callingConvention: __thiscall 647; DUMP-NEXT: count: 2 648; DUMP-NEXT: typeId: 3 649; DUMP-NEXT: thisAdjust: 0 650; DUMP-NEXT: constructor: 1 651; DUMP-NEXT: constType: 0 652; DUMP-NEXT: isConstructorVirtualBase: 0 653; DUMP-NEXT: isCxxReturnUdt: 0 654; DUMP-NEXT: unalignedType: 0 655; DUMP-NEXT: volatileType: 0 656; DUMP-NEXT: } 657; DUMP-NEXT: { 658; DUMP-NEXT: symIndexId: 58 659; DUMP-NEXT: symTag: FunctionSig 660; DUMP-NEXT: callingConvention: __thiscall 661; DUMP-NEXT: count: 1 662; DUMP-NEXT: typeId: 3 663; DUMP-NEXT: thisAdjust: 0 664; DUMP-NEXT: constructor: 1 665; DUMP-NEXT: constType: 0 666; DUMP-NEXT: isConstructorVirtualBase: 0 667; DUMP-NEXT: isCxxReturnUdt: 0 668; DUMP-NEXT: unalignedType: 0 669; DUMP-NEXT: volatileType: 0 670; DUMP-NEXT: } 671; DUMP-NEXT: { 672; DUMP-NEXT: symIndexId: 59 673; DUMP-NEXT: symTag: FunctionSig 674; DUMP-NEXT: callingConvention: __thiscall 675; DUMP-NEXT: count: 1 676; DUMP-NEXT: typeId: 3 677; DUMP-NEXT: thisAdjust: 0 678; DUMP-NEXT: constructor: 0 679; DUMP-NEXT: constType: 0 680; DUMP-NEXT: isConstructorVirtualBase: 0 681; DUMP-NEXT: isCxxReturnUdt: 0 682; DUMP-NEXT: unalignedType: 0 683; DUMP-NEXT: volatileType: 0 684; DUMP-NEXT: } 685; DUMP-NEXT: { 686; DUMP-NEXT: symIndexId: 61 687; DUMP-NEXT: symTag: FunctionSig 688; DUMP-NEXT: callingConvention: __thiscall 689; DUMP-NEXT: count: 2 690; DUMP-NEXT: typeId: 3 691; DUMP-NEXT: thisAdjust: 0 692; DUMP-NEXT: constructor: 1 693; DUMP-NEXT: constType: 0 694; DUMP-NEXT: isConstructorVirtualBase: 0 695; DUMP-NEXT: isCxxReturnUdt: 0 696; DUMP-NEXT: unalignedType: 0 697; DUMP-NEXT: volatileType: 0 698; DUMP-NEXT: } 699; DUMP-NEXT: { 700; DUMP-NEXT: symIndexId: 62 701; DUMP-NEXT: symTag: FunctionSig 702; DUMP-NEXT: callingConvention: __thiscall 703; DUMP-NEXT: count: 1 704; DUMP-NEXT: typeId: 3 705; DUMP-NEXT: thisAdjust: 0 706; DUMP-NEXT: constructor: 1 707; DUMP-NEXT: constType: 0 708; DUMP-NEXT: isConstructorVirtualBase: 0 709; DUMP-NEXT: isCxxReturnUdt: 0 710; DUMP-NEXT: unalignedType: 0 711; DUMP-NEXT: volatileType: 0 712; DUMP-NEXT: } 713; DUMP-NEXT: { 714; DUMP-NEXT: symIndexId: 63 715; DUMP-NEXT: symTag: FunctionSig 716; DUMP-NEXT: callingConvention: __thiscall 717; DUMP-NEXT: count: 2 718; DUMP-NEXT: typeId: 64 719; DUMP-NEXT: thisAdjust: 0 720; DUMP-NEXT: constructor: 0 721; DUMP-NEXT: constType: 0 722; DUMP-NEXT: isConstructorVirtualBase: 0 723; DUMP-NEXT: isCxxReturnUdt: 0 724; DUMP-NEXT: unalignedType: 0 725; DUMP-NEXT: volatileType: 0 726; DUMP-NEXT: } 727; DUMP-NEXT: { 728; DUMP-NEXT: symIndexId: 65 729; DUMP-NEXT: symTag: FunctionSig 730; DUMP-NEXT: callingConvention: __thiscall 731; DUMP-NEXT: count: 2 732; DUMP-NEXT: typeId: 37 733; DUMP-NEXT: thisAdjust: 0 734; DUMP-NEXT: constructor: 0 735; DUMP-NEXT: constType: 0 736; DUMP-NEXT: isConstructorVirtualBase: 0 737; DUMP-NEXT: isCxxReturnUdt: 0 738; DUMP-NEXT: unalignedType: 0 739; DUMP-NEXT: volatileType: 0 740; DUMP-NEXT: } 741; DUMP-NEXT: { 742; DUMP-NEXT: symIndexId: 66 743; DUMP-NEXT: symTag: FunctionSig 744; DUMP-NEXT: callingConvention: __thiscall 745; DUMP-NEXT: count: 2 746; DUMP-NEXT: typeId: 3 747; DUMP-NEXT: thisAdjust: 0 748; DUMP-NEXT: constructor: 1 749; DUMP-NEXT: constType: 0 750; DUMP-NEXT: isConstructorVirtualBase: 1 751; DUMP-NEXT: isCxxReturnUdt: 0 752; DUMP-NEXT: unalignedType: 0 753; DUMP-NEXT: volatileType: 0 754; DUMP-NEXT: } 755; DUMP-NEXT: { 756; DUMP-NEXT: symIndexId: 68 757; DUMP-NEXT: symTag: FunctionSig 758; DUMP-NEXT: callingConvention: __thiscall 759; DUMP-NEXT: count: 2 760; DUMP-NEXT: typeId: 3 761; DUMP-NEXT: thisAdjust: 0 762; DUMP-NEXT: constructor: 1 763; DUMP-NEXT: constType: 0 764; DUMP-NEXT: isConstructorVirtualBase: 1 765; DUMP-NEXT: isCxxReturnUdt: 0 766; DUMP-NEXT: unalignedType: 0 767; DUMP-NEXT: volatileType: 0 768; DUMP-NEXT: } 769; DUMP-NEXT: { 770; DUMP-NEXT: symIndexId: 69 771; DUMP-NEXT: symTag: FunctionSig 772; DUMP-NEXT: callingConvention: __thiscall 773; DUMP-NEXT: count: 1 774; DUMP-NEXT: typeId: 3 775; DUMP-NEXT: thisAdjust: 0 776; DUMP-NEXT: constructor: 1 777; DUMP-NEXT: constType: 0 778; DUMP-NEXT: isConstructorVirtualBase: 1 779; DUMP-NEXT: isCxxReturnUdt: 0 780; DUMP-NEXT: unalignedType: 0 781; DUMP-NEXT: volatileType: 0 782; DUMP-NEXT: } 783; DUMP-NEXT: { 784; DUMP-NEXT: symIndexId: 70 785; DUMP-NEXT: symTag: FunctionSig 786; DUMP-NEXT: callingConvention: __thiscall 787; DUMP-NEXT: count: 1 788; DUMP-NEXT: typeId: 3 789; DUMP-NEXT: thisAdjust: 4 790; DUMP-NEXT: constructor: 0 791; DUMP-NEXT: constType: 0 792; DUMP-NEXT: isConstructorVirtualBase: 0 793; DUMP-NEXT: isCxxReturnUdt: 0 794; DUMP-NEXT: unalignedType: 0 795; DUMP-NEXT: volatileType: 0 796; DUMP-NEXT: } 797; DUMP-NEXT: { 798; DUMP-NEXT: symIndexId: 71 799; DUMP-NEXT: symTag: FunctionSig 800; DUMP-NEXT: callingConvention: __thiscall 801; DUMP-NEXT: count: 2 802; DUMP-NEXT: typeId: 72 803; DUMP-NEXT: thisAdjust: 0 804; DUMP-NEXT: constructor: 0 805; DUMP-NEXT: constType: 0 806; DUMP-NEXT: isConstructorVirtualBase: 0 807; DUMP-NEXT: isCxxReturnUdt: 0 808; DUMP-NEXT: unalignedType: 0 809; DUMP-NEXT: volatileType: 0 810; DUMP-NEXT: } 811; DUMP-NEXT: { 812; DUMP-NEXT: symIndexId: 73 813; DUMP-NEXT: symTag: FunctionSig 814; DUMP-NEXT: callingConvention: __thiscall 815; DUMP-NEXT: count: 2 816; DUMP-NEXT: typeId: 72 817; DUMP-NEXT: thisAdjust: 0 818; DUMP-NEXT: constructor: 0 819; DUMP-NEXT: constType: 0 820; DUMP-NEXT: isConstructorVirtualBase: 0 821; DUMP-NEXT: isCxxReturnUdt: 0 822; DUMP-NEXT: unalignedType: 0 823; DUMP-NEXT: volatileType: 0 824; DUMP-NEXT: } 825; DUMP-NEXT: { 826; DUMP-NEXT: symIndexId: 74 827; DUMP-NEXT: symTag: FunctionSig 828; DUMP-NEXT: callingConvention: __thiscall 829; DUMP-NEXT: count: 1 830; DUMP-NEXT: typeId: 3 831; DUMP-NEXT: thisAdjust: 0 832; DUMP-NEXT: constructor: 0 833; DUMP-NEXT: constType: 0 834; DUMP-NEXT: isConstructorVirtualBase: 0 835; DUMP-NEXT: isCxxReturnUdt: 0 836; DUMP-NEXT: unalignedType: 0 837; DUMP-NEXT: volatileType: 0 838; DUMP-NEXT: } 839; DUMP-NEXT: { 840; DUMP-NEXT: symIndexId: 75 841; DUMP-NEXT: symTag: FunctionSig 842; DUMP-NEXT: callingConvention: __thiscall 843; DUMP-NEXT: count: 2 844; DUMP-NEXT: typeId: 37 845; DUMP-NEXT: thisAdjust: 4 846; DUMP-NEXT: constructor: 0 847; DUMP-NEXT: constType: 0 848; DUMP-NEXT: isConstructorVirtualBase: 0 849; DUMP-NEXT: isCxxReturnUdt: 0 850; DUMP-NEXT: unalignedType: 0 851; DUMP-NEXT: volatileType: 0 852; DUMP-NEXT: } 853; DUMP-NEXT: { 854; DUMP-NEXT: symIndexId: 76 855; DUMP-NEXT: symTag: FunctionSig 856; DUMP-NEXT: callingConvention: __cdecl 857; DUMP-NEXT: count: 0 858; DUMP-NEXT: typeId: 3 859; DUMP-NEXT: constructor: 0 860; DUMP-NEXT: constType: 0 861; DUMP-NEXT: isConstructorVirtualBase: 0 862; DUMP-NEXT: isCxxReturnUdt: 0 863; DUMP-NEXT: unalignedType: 0 864; DUMP-NEXT: volatileType: 0 865; DUMP-NEXT: } 866