866 lines · plain
1; Test that the native PDB reader can enumerate pointer types. The output2; being checked against is golden output generated by llvm-pdbutil without3; 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 %s7 8; RUN: llvm-pdbutil diadump -native -funcsigs %p/../Inputs/every-function.pdb \9; RUN: | FileCheck -check-prefix=DUMP %s10 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: 273; DUMP-NEXT: symTag: FunctionSig74; DUMP-NEXT: callingConvention: __cdecl75; DUMP-NEXT: count: 276; DUMP-NEXT: typeId: 377; DUMP-NEXT: constructor: 078; DUMP-NEXT: constType: 079; DUMP-NEXT: isConstructorVirtualBase: 080; DUMP-NEXT: isCxxReturnUdt: 081; DUMP-NEXT: unalignedType: 082; DUMP-NEXT: volatileType: 083; DUMP-NEXT: }84; DUMP-NEXT: {85; DUMP-NEXT: symIndexId: 486; DUMP-NEXT: symTag: FunctionSig87; DUMP-NEXT: callingConvention: __cdecl88; DUMP-NEXT: count: 289; DUMP-NEXT: typeId: 390; DUMP-NEXT: constructor: 091; DUMP-NEXT: constType: 092; DUMP-NEXT: isConstructorVirtualBase: 093; DUMP-NEXT: isCxxReturnUdt: 094; DUMP-NEXT: unalignedType: 095; DUMP-NEXT: volatileType: 096; DUMP-NEXT: }97; DUMP-NEXT: {98; DUMP-NEXT: symIndexId: 599; DUMP-NEXT: symTag: FunctionSig100; DUMP-NEXT: callingConvention: __cdecl101; DUMP-NEXT: count: 0102; DUMP-NEXT: typeId: 6103; DUMP-NEXT: constructor: 0104; DUMP-NEXT: constType: 0105; DUMP-NEXT: isConstructorVirtualBase: 0106; DUMP-NEXT: isCxxReturnUdt: 0107; DUMP-NEXT: unalignedType: 0108; DUMP-NEXT: volatileType: 0109; DUMP-NEXT: }110; DUMP-NEXT: {111; DUMP-NEXT: symIndexId: 7112; DUMP-NEXT: symTag: FunctionSig113; DUMP-NEXT: callingConvention: __stdcall114; DUMP-NEXT: count: 0115; DUMP-NEXT: typeId: 6116; DUMP-NEXT: constructor: 0117; DUMP-NEXT: constType: 0118; DUMP-NEXT: isConstructorVirtualBase: 0119; DUMP-NEXT: isCxxReturnUdt: 0120; DUMP-NEXT: unalignedType: 0121; DUMP-NEXT: volatileType: 0122; DUMP-NEXT: }123; DUMP-NEXT: {124; DUMP-NEXT: symIndexId: 8125; DUMP-NEXT: symTag: FunctionSig126; DUMP-NEXT: callingConvention: __fastcall127; DUMP-NEXT: count: 0128; DUMP-NEXT: typeId: 6129; DUMP-NEXT: constructor: 0130; DUMP-NEXT: constType: 0131; DUMP-NEXT: isConstructorVirtualBase: 0132; DUMP-NEXT: isCxxReturnUdt: 0133; DUMP-NEXT: unalignedType: 0134; DUMP-NEXT: volatileType: 0135; DUMP-NEXT: }136; DUMP-NEXT: {137; DUMP-NEXT: symIndexId: 9138; DUMP-NEXT: symTag: FunctionSig139; DUMP-NEXT: callingConvention: __vectorcall140; DUMP-NEXT: count: 0141; DUMP-NEXT: typeId: 6142; DUMP-NEXT: constructor: 0143; DUMP-NEXT: constType: 0144; DUMP-NEXT: isConstructorVirtualBase: 0145; DUMP-NEXT: isCxxReturnUdt: 0146; DUMP-NEXT: unalignedType: 0147; DUMP-NEXT: volatileType: 0148; DUMP-NEXT: }149; DUMP-NEXT: {150; DUMP-NEXT: symIndexId: 10151; DUMP-NEXT: symTag: FunctionSig152; DUMP-NEXT: callingConvention: __cdecl153; DUMP-NEXT: count: 1154; DUMP-NEXT: typeId: 6155; DUMP-NEXT: constructor: 0156; DUMP-NEXT: constType: 0157; DUMP-NEXT: isConstructorVirtualBase: 0158; DUMP-NEXT: isCxxReturnUdt: 0159; DUMP-NEXT: unalignedType: 0160; DUMP-NEXT: volatileType: 0161; DUMP-NEXT: }162; DUMP-NEXT: {163; DUMP-NEXT: symIndexId: 11164; DUMP-NEXT: symTag: FunctionSig165; DUMP-NEXT: callingConvention: __cdecl166; DUMP-NEXT: count: 2167; DUMP-NEXT: typeId: 6168; DUMP-NEXT: constructor: 0169; DUMP-NEXT: constType: 0170; DUMP-NEXT: isConstructorVirtualBase: 0171; DUMP-NEXT: isCxxReturnUdt: 0172; DUMP-NEXT: unalignedType: 0173; DUMP-NEXT: volatileType: 0174; DUMP-NEXT: }175; DUMP-NEXT: {176; DUMP-NEXT: symIndexId: 12177; DUMP-NEXT: symTag: FunctionSig178; DUMP-NEXT: callingConvention: __cdecl179; DUMP-NEXT: count: 1180; DUMP-NEXT: typeId: 3181; DUMP-NEXT: constructor: 0182; DUMP-NEXT: constType: 0183; DUMP-NEXT: isConstructorVirtualBase: 0184; DUMP-NEXT: isCxxReturnUdt: 0185; DUMP-NEXT: unalignedType: 0186; DUMP-NEXT: volatileType: 0187; DUMP-NEXT: }188; DUMP-NEXT: {189; DUMP-NEXT: symIndexId: 13190; DUMP-NEXT: symTag: FunctionSig191; DUMP-NEXT: callingConvention: __thiscall192; DUMP-NEXT: count: 1193; DUMP-NEXT: typeId: 3194; DUMP-NEXT: thisAdjust: 0195; DUMP-NEXT: constructor: 1196; DUMP-NEXT: constType: 0197; DUMP-NEXT: isConstructorVirtualBase: 0198; DUMP-NEXT: isCxxReturnUdt: 0199; DUMP-NEXT: unalignedType: 0200; DUMP-NEXT: volatileType: 0201; DUMP-NEXT: }202; DUMP-NEXT: {203; DUMP-NEXT: symIndexId: 15204; DUMP-NEXT: symTag: FunctionSig205; DUMP-NEXT: callingConvention: __thiscall206; DUMP-NEXT: count: 1207; DUMP-NEXT: typeId: 6208; DUMP-NEXT: thisAdjust: 0209; DUMP-NEXT: constructor: 0210; DUMP-NEXT: constType: 0211; DUMP-NEXT: isConstructorVirtualBase: 0212; DUMP-NEXT: isCxxReturnUdt: 0213; DUMP-NEXT: unalignedType: 0214; DUMP-NEXT: volatileType: 0215; DUMP-NEXT: }216; DUMP-NEXT: {217; DUMP-NEXT: symIndexId: 16218; DUMP-NEXT: symTag: FunctionSig219; DUMP-NEXT: callingConvention: __thiscall220; DUMP-NEXT: count: 1221; DUMP-NEXT: typeId: 3222; DUMP-NEXT: thisAdjust: 0223; DUMP-NEXT: constructor: 0224; DUMP-NEXT: constType: 0225; DUMP-NEXT: isConstructorVirtualBase: 0226; DUMP-NEXT: isCxxReturnUdt: 0227; DUMP-NEXT: unalignedType: 0228; DUMP-NEXT: volatileType: 0229; DUMP-NEXT: }230; DUMP-NEXT: {231; DUMP-NEXT: symIndexId: 17232; DUMP-NEXT: symTag: FunctionSig233; DUMP-NEXT: callingConvention: __thiscall234; DUMP-NEXT: count: 1235; DUMP-NEXT: typeId: 3236; DUMP-NEXT: thisAdjust: 0237; DUMP-NEXT: constructor: 0238; DUMP-NEXT: constType: 0239; DUMP-NEXT: isConstructorVirtualBase: 0240; DUMP-NEXT: isCxxReturnUdt: 0241; DUMP-NEXT: unalignedType: 0242; DUMP-NEXT: volatileType: 0243; DUMP-NEXT: }244; DUMP-NEXT: {245; DUMP-NEXT: symIndexId: 18246; DUMP-NEXT: symTag: FunctionSig247; DUMP-NEXT: callingConvention: __thiscall248; DUMP-NEXT: count: 1249; DUMP-NEXT: typeId: 3250; DUMP-NEXT: thisAdjust: 0251; DUMP-NEXT: constructor: 0252; DUMP-NEXT: constType: 0253; DUMP-NEXT: isConstructorVirtualBase: 0254; DUMP-NEXT: isCxxReturnUdt: 0255; DUMP-NEXT: unalignedType: 0256; DUMP-NEXT: volatileType: 0257; DUMP-NEXT: }258; DUMP-NEXT: {259; DUMP-NEXT: symIndexId: 19260; DUMP-NEXT: symTag: FunctionSig261; DUMP-NEXT: callingConvention: __thiscall262; DUMP-NEXT: count: 1263; DUMP-NEXT: typeId: 3264; DUMP-NEXT: thisAdjust: 0265; DUMP-NEXT: constructor: 0266; DUMP-NEXT: constType: 0267; DUMP-NEXT: isConstructorVirtualBase: 0268; DUMP-NEXT: isCxxReturnUdt: 0269; DUMP-NEXT: unalignedType: 0270; DUMP-NEXT: volatileType: 0271; DUMP-NEXT: }272; DUMP-NEXT: {273; DUMP-NEXT: symIndexId: 20274; DUMP-NEXT: symTag: FunctionSig275; DUMP-NEXT: callingConvention: __cdecl276; DUMP-NEXT: count: 1277; DUMP-NEXT: typeId: 3278; DUMP-NEXT: constructor: 0279; DUMP-NEXT: constType: 0280; DUMP-NEXT: isConstructorVirtualBase: 0281; DUMP-NEXT: isCxxReturnUdt: 0282; DUMP-NEXT: unalignedType: 0283; DUMP-NEXT: volatileType: 0284; DUMP-NEXT: }285; DUMP-NEXT: {286; DUMP-NEXT: symIndexId: 21287; DUMP-NEXT: symTag: FunctionSig288; DUMP-NEXT: callingConvention: __cdecl289; DUMP-NEXT: count: 1290; DUMP-NEXT: typeId: 3291; DUMP-NEXT: constructor: 0292; DUMP-NEXT: constType: 0293; DUMP-NEXT: isConstructorVirtualBase: 0294; DUMP-NEXT: isCxxReturnUdt: 0295; DUMP-NEXT: unalignedType: 0296; DUMP-NEXT: volatileType: 0297; DUMP-NEXT: }298; DUMP-NEXT: {299; DUMP-NEXT: symIndexId: 22300; DUMP-NEXT: symTag: FunctionSig301; DUMP-NEXT: callingConvention: __cdecl302; DUMP-NEXT: count: 1303; DUMP-NEXT: typeId: 3304; DUMP-NEXT: constructor: 0305; DUMP-NEXT: constType: 0306; DUMP-NEXT: isConstructorVirtualBase: 0307; DUMP-NEXT: isCxxReturnUdt: 0308; DUMP-NEXT: unalignedType: 0309; DUMP-NEXT: volatileType: 0310; DUMP-NEXT: }311; DUMP-NEXT: {312; DUMP-NEXT: symIndexId: 23313; DUMP-NEXT: symTag: FunctionSig314; DUMP-NEXT: callingConvention: __cdecl315; DUMP-NEXT: count: 1316; DUMP-NEXT: typeId: 3317; DUMP-NEXT: constructor: 0318; DUMP-NEXT: constType: 0319; DUMP-NEXT: isConstructorVirtualBase: 0320; DUMP-NEXT: isCxxReturnUdt: 0321; DUMP-NEXT: unalignedType: 0322; DUMP-NEXT: volatileType: 0323; DUMP-NEXT: }324; DUMP-NEXT: {325; DUMP-NEXT: symIndexId: 24326; DUMP-NEXT: symTag: FunctionSig327; DUMP-NEXT: callingConvention: __cdecl328; DUMP-NEXT: count: 1329; DUMP-NEXT: typeId: 3330; DUMP-NEXT: constructor: 0331; DUMP-NEXT: constType: 0332; DUMP-NEXT: isConstructorVirtualBase: 0333; DUMP-NEXT: isCxxReturnUdt: 0334; DUMP-NEXT: unalignedType: 0335; DUMP-NEXT: volatileType: 0336; DUMP-NEXT: }337; DUMP-NEXT: {338; DUMP-NEXT: symIndexId: 25339; DUMP-NEXT: symTag: FunctionSig340; DUMP-NEXT: callingConvention: __cdecl341; DUMP-NEXT: count: 1342; DUMP-NEXT: typeId: 3343; DUMP-NEXT: constructor: 0344; DUMP-NEXT: constType: 0345; DUMP-NEXT: isConstructorVirtualBase: 0346; DUMP-NEXT: isCxxReturnUdt: 0347; DUMP-NEXT: unalignedType: 0348; DUMP-NEXT: volatileType: 0349; DUMP-NEXT: }350; DUMP-NEXT: {351; DUMP-NEXT: symIndexId: 26352; DUMP-NEXT: symTag: FunctionSig353; DUMP-NEXT: callingConvention: __cdecl354; DUMP-NEXT: count: 0355; DUMP-NEXT: typeId: 14356; DUMP-NEXT: constructor: 0357; DUMP-NEXT: constType: 0358; DUMP-NEXT: isConstructorVirtualBase: 0359; DUMP-NEXT: isCxxReturnUdt: 1360; DUMP-NEXT: unalignedType: 0361; DUMP-NEXT: volatileType: 0362; DUMP-NEXT: }363; DUMP-NEXT: {364; DUMP-NEXT: symIndexId: 27365; DUMP-NEXT: symTag: FunctionSig366; DUMP-NEXT: callingConvention: __thiscall367; DUMP-NEXT: count: 2368; DUMP-NEXT: typeId: 3369; DUMP-NEXT: thisAdjust: 0370; DUMP-NEXT: constructor: 1371; DUMP-NEXT: constType: 0372; DUMP-NEXT: isConstructorVirtualBase: 1373; DUMP-NEXT: isCxxReturnUdt: 0374; DUMP-NEXT: unalignedType: 0375; DUMP-NEXT: volatileType: 0376; DUMP-NEXT: }377; DUMP-NEXT: {378; DUMP-NEXT: symIndexId: 29379; DUMP-NEXT: symTag: FunctionSig380; DUMP-NEXT: callingConvention: __thiscall381; DUMP-NEXT: count: 2382; DUMP-NEXT: typeId: 3383; DUMP-NEXT: thisAdjust: 0384; DUMP-NEXT: constructor: 1385; DUMP-NEXT: constType: 0386; DUMP-NEXT: isConstructorVirtualBase: 1387; DUMP-NEXT: isCxxReturnUdt: 0388; DUMP-NEXT: unalignedType: 0389; DUMP-NEXT: volatileType: 0390; DUMP-NEXT: }391; DUMP-NEXT: {392; DUMP-NEXT: symIndexId: 30393; DUMP-NEXT: symTag: FunctionSig394; DUMP-NEXT: callingConvention: __thiscall395; DUMP-NEXT: count: 1396; DUMP-NEXT: typeId: 3397; DUMP-NEXT: thisAdjust: 0398; DUMP-NEXT: constructor: 1399; DUMP-NEXT: constType: 0400; DUMP-NEXT: isConstructorVirtualBase: 1401; DUMP-NEXT: isCxxReturnUdt: 0402; DUMP-NEXT: unalignedType: 0403; DUMP-NEXT: volatileType: 0404; DUMP-NEXT: }405; DUMP-NEXT: {406; DUMP-NEXT: symIndexId: 31407; DUMP-NEXT: symTag: FunctionSig408; DUMP-NEXT: callingConvention: __thiscall409; DUMP-NEXT: count: 1410; DUMP-NEXT: typeId: 3411; DUMP-NEXT: thisAdjust: 4412; DUMP-NEXT: constructor: 0413; DUMP-NEXT: constType: 0414; DUMP-NEXT: isConstructorVirtualBase: 0415; DUMP-NEXT: isCxxReturnUdt: 0416; DUMP-NEXT: unalignedType: 0417; DUMP-NEXT: volatileType: 0418; DUMP-NEXT: }419; DUMP-NEXT: {420; DUMP-NEXT: symIndexId: 32421; DUMP-NEXT: symTag: FunctionSig422; DUMP-NEXT: callingConvention: __thiscall423; DUMP-NEXT: count: 2424; DUMP-NEXT: typeId: 33425; DUMP-NEXT: thisAdjust: 0426; DUMP-NEXT: constructor: 0427; DUMP-NEXT: constType: 0428; DUMP-NEXT: isConstructorVirtualBase: 0429; DUMP-NEXT: isCxxReturnUdt: 0430; DUMP-NEXT: unalignedType: 0431; DUMP-NEXT: volatileType: 0432; DUMP-NEXT: }433; DUMP-NEXT: {434; DUMP-NEXT: symIndexId: 34435; DUMP-NEXT: symTag: FunctionSig436; DUMP-NEXT: callingConvention: __thiscall437; DUMP-NEXT: count: 2438; DUMP-NEXT: typeId: 33439; DUMP-NEXT: thisAdjust: 0440; DUMP-NEXT: constructor: 0441; DUMP-NEXT: constType: 0442; DUMP-NEXT: isConstructorVirtualBase: 0443; DUMP-NEXT: isCxxReturnUdt: 0444; DUMP-NEXT: unalignedType: 0445; DUMP-NEXT: volatileType: 0446; DUMP-NEXT: }447; DUMP-NEXT: {448; DUMP-NEXT: symIndexId: 35449; DUMP-NEXT: symTag: FunctionSig450; DUMP-NEXT: callingConvention: __thiscall451; DUMP-NEXT: count: 1452; DUMP-NEXT: typeId: 3453; DUMP-NEXT: thisAdjust: 0454; DUMP-NEXT: constructor: 0455; DUMP-NEXT: constType: 0456; DUMP-NEXT: isConstructorVirtualBase: 0457; DUMP-NEXT: isCxxReturnUdt: 0458; DUMP-NEXT: unalignedType: 0459; DUMP-NEXT: volatileType: 0460; DUMP-NEXT: }461; DUMP-NEXT: {462; DUMP-NEXT: symIndexId: 36463; DUMP-NEXT: symTag: FunctionSig464; DUMP-NEXT: callingConvention: __thiscall465; DUMP-NEXT: count: 2466; DUMP-NEXT: typeId: 37467; DUMP-NEXT: thisAdjust: 4468; DUMP-NEXT: constructor: 0469; DUMP-NEXT: constType: 0470; DUMP-NEXT: isConstructorVirtualBase: 0471; DUMP-NEXT: isCxxReturnUdt: 0472; DUMP-NEXT: unalignedType: 0473; DUMP-NEXT: volatileType: 0474; DUMP-NEXT: }475; DUMP-NEXT: {476; DUMP-NEXT: symIndexId: 38477; DUMP-NEXT: symTag: FunctionSig478; DUMP-NEXT: callingConvention: __thiscall479; DUMP-NEXT: count: 2480; DUMP-NEXT: typeId: 3481; DUMP-NEXT: thisAdjust: 0482; DUMP-NEXT: constructor: 1483; DUMP-NEXT: constType: 0484; DUMP-NEXT: isConstructorVirtualBase: 0485; DUMP-NEXT: isCxxReturnUdt: 0486; DUMP-NEXT: unalignedType: 0487; DUMP-NEXT: volatileType: 0488; DUMP-NEXT: }489; DUMP-NEXT: {490; DUMP-NEXT: symIndexId: 40491; DUMP-NEXT: symTag: FunctionSig492; DUMP-NEXT: callingConvention: __thiscall493; DUMP-NEXT: count: 1494; DUMP-NEXT: typeId: 3495; DUMP-NEXT: thisAdjust: 0496; DUMP-NEXT: constructor: 1497; DUMP-NEXT: constType: 0498; DUMP-NEXT: isConstructorVirtualBase: 0499; DUMP-NEXT: isCxxReturnUdt: 0500; DUMP-NEXT: unalignedType: 0501; DUMP-NEXT: volatileType: 0502; DUMP-NEXT: }503; DUMP-NEXT: {504; DUMP-NEXT: symIndexId: 41505; DUMP-NEXT: symTag: FunctionSig506; DUMP-NEXT: callingConvention: __thiscall507; DUMP-NEXT: count: 2508; DUMP-NEXT: typeId: 3509; DUMP-NEXT: thisAdjust: 0510; DUMP-NEXT: constructor: 1511; DUMP-NEXT: constType: 0512; DUMP-NEXT: isConstructorVirtualBase: 0513; DUMP-NEXT: isCxxReturnUdt: 0514; DUMP-NEXT: unalignedType: 0515; DUMP-NEXT: volatileType: 0516; DUMP-NEXT: }517; DUMP-NEXT: {518; DUMP-NEXT: symIndexId: 43519; DUMP-NEXT: symTag: FunctionSig520; DUMP-NEXT: callingConvention: __thiscall521; DUMP-NEXT: count: 2522; DUMP-NEXT: typeId: 3523; DUMP-NEXT: thisAdjust: 0524; DUMP-NEXT: constructor: 1525; DUMP-NEXT: constType: 0526; DUMP-NEXT: isConstructorVirtualBase: 0527; DUMP-NEXT: isCxxReturnUdt: 0528; DUMP-NEXT: unalignedType: 0529; DUMP-NEXT: volatileType: 0530; DUMP-NEXT: }531; DUMP-NEXT: {532; DUMP-NEXT: symIndexId: 45533; DUMP-NEXT: symTag: FunctionSig534; DUMP-NEXT: callingConvention: __thiscall535; DUMP-NEXT: count: 2536; DUMP-NEXT: typeId: 3537; DUMP-NEXT: thisAdjust: 0538; DUMP-NEXT: constructor: 1539; DUMP-NEXT: constType: 0540; DUMP-NEXT: isConstructorVirtualBase: 0541; DUMP-NEXT: isCxxReturnUdt: 0542; DUMP-NEXT: unalignedType: 0543; DUMP-NEXT: volatileType: 0544; DUMP-NEXT: }545; DUMP-NEXT: {546; DUMP-NEXT: symIndexId: 47547; DUMP-NEXT: symTag: FunctionSig548; DUMP-NEXT: callingConvention: __thiscall549; DUMP-NEXT: count: 1550; DUMP-NEXT: typeId: 3551; DUMP-NEXT: thisAdjust: 0552; DUMP-NEXT: constructor: 1553; DUMP-NEXT: constType: 0554; DUMP-NEXT: isConstructorVirtualBase: 0555; DUMP-NEXT: isCxxReturnUdt: 0556; DUMP-NEXT: unalignedType: 0557; DUMP-NEXT: volatileType: 0558; DUMP-NEXT: }559; DUMP-NEXT: {560; DUMP-NEXT: symIndexId: 48561; DUMP-NEXT: symTag: FunctionSig562; DUMP-NEXT: callingConvention: __thiscall563; DUMP-NEXT: count: 2564; DUMP-NEXT: typeId: 3565; DUMP-NEXT: thisAdjust: 0566; DUMP-NEXT: constructor: 1567; DUMP-NEXT: constType: 0568; DUMP-NEXT: isConstructorVirtualBase: 0569; DUMP-NEXT: isCxxReturnUdt: 0570; DUMP-NEXT: unalignedType: 0571; DUMP-NEXT: volatileType: 0572; DUMP-NEXT: }573; DUMP-NEXT: {574; DUMP-NEXT: symIndexId: 50575; DUMP-NEXT: symTag: FunctionSig576; DUMP-NEXT: callingConvention: __thiscall577; DUMP-NEXT: count: 1578; DUMP-NEXT: typeId: 3579; DUMP-NEXT: thisAdjust: 0580; DUMP-NEXT: constructor: 1581; DUMP-NEXT: constType: 0582; DUMP-NEXT: isConstructorVirtualBase: 0583; DUMP-NEXT: isCxxReturnUdt: 0584; DUMP-NEXT: unalignedType: 0585; DUMP-NEXT: volatileType: 0586; DUMP-NEXT: }587; DUMP-NEXT: {588; DUMP-NEXT: symIndexId: 51589; DUMP-NEXT: symTag: FunctionSig590; DUMP-NEXT: callingConvention: __thiscall591; DUMP-NEXT: count: 3592; DUMP-NEXT: typeId: 3593; DUMP-NEXT: thisAdjust: 0594; DUMP-NEXT: constructor: 1595; DUMP-NEXT: constType: 0596; DUMP-NEXT: isConstructorVirtualBase: 0597; DUMP-NEXT: isCxxReturnUdt: 0598; DUMP-NEXT: unalignedType: 0599; DUMP-NEXT: volatileType: 0600; DUMP-NEXT: }601; DUMP-NEXT: {602; DUMP-NEXT: symIndexId: 53603; DUMP-NEXT: symTag: FunctionSig604; DUMP-NEXT: callingConvention: __thiscall605; DUMP-NEXT: count: 2606; DUMP-NEXT: typeId: 3607; DUMP-NEXT: thisAdjust: 0608; DUMP-NEXT: constructor: 1609; DUMP-NEXT: constType: 0610; DUMP-NEXT: isConstructorVirtualBase: 0611; DUMP-NEXT: isCxxReturnUdt: 0612; DUMP-NEXT: unalignedType: 0613; DUMP-NEXT: volatileType: 0614; DUMP-NEXT: }615; DUMP-NEXT: {616; DUMP-NEXT: symIndexId: 54617; DUMP-NEXT: symTag: FunctionSig618; DUMP-NEXT: callingConvention: __thiscall619; DUMP-NEXT: count: 1620; DUMP-NEXT: typeId: 3621; DUMP-NEXT: thisAdjust: 0622; DUMP-NEXT: constructor: 1623; DUMP-NEXT: constType: 0624; DUMP-NEXT: isConstructorVirtualBase: 0625; DUMP-NEXT: isCxxReturnUdt: 0626; DUMP-NEXT: unalignedType: 0627; DUMP-NEXT: volatileType: 0628; DUMP-NEXT: }629; DUMP-NEXT: {630; DUMP-NEXT: symIndexId: 55631; DUMP-NEXT: symTag: FunctionSig632; DUMP-NEXT: callingConvention: __thiscall633; DUMP-NEXT: count: 16634; DUMP-NEXT: typeId: 3635; DUMP-NEXT: thisAdjust: 0636; DUMP-NEXT: constructor: 1637; DUMP-NEXT: constType: 0638; DUMP-NEXT: isConstructorVirtualBase: 0639; DUMP-NEXT: isCxxReturnUdt: 0640; DUMP-NEXT: unalignedType: 0641; DUMP-NEXT: volatileType: 0642; DUMP-NEXT: }643; DUMP-NEXT: {644; DUMP-NEXT: symIndexId: 57645; DUMP-NEXT: symTag: FunctionSig646; DUMP-NEXT: callingConvention: __thiscall647; DUMP-NEXT: count: 2648; DUMP-NEXT: typeId: 3649; DUMP-NEXT: thisAdjust: 0650; DUMP-NEXT: constructor: 1651; DUMP-NEXT: constType: 0652; DUMP-NEXT: isConstructorVirtualBase: 0653; DUMP-NEXT: isCxxReturnUdt: 0654; DUMP-NEXT: unalignedType: 0655; DUMP-NEXT: volatileType: 0656; DUMP-NEXT: }657; DUMP-NEXT: {658; DUMP-NEXT: symIndexId: 58659; DUMP-NEXT: symTag: FunctionSig660; DUMP-NEXT: callingConvention: __thiscall661; DUMP-NEXT: count: 1662; DUMP-NEXT: typeId: 3663; DUMP-NEXT: thisAdjust: 0664; DUMP-NEXT: constructor: 1665; DUMP-NEXT: constType: 0666; DUMP-NEXT: isConstructorVirtualBase: 0667; DUMP-NEXT: isCxxReturnUdt: 0668; DUMP-NEXT: unalignedType: 0669; DUMP-NEXT: volatileType: 0670; DUMP-NEXT: }671; DUMP-NEXT: {672; DUMP-NEXT: symIndexId: 59673; DUMP-NEXT: symTag: FunctionSig674; DUMP-NEXT: callingConvention: __thiscall675; DUMP-NEXT: count: 1676; DUMP-NEXT: typeId: 3677; DUMP-NEXT: thisAdjust: 0678; DUMP-NEXT: constructor: 0679; DUMP-NEXT: constType: 0680; DUMP-NEXT: isConstructorVirtualBase: 0681; DUMP-NEXT: isCxxReturnUdt: 0682; DUMP-NEXT: unalignedType: 0683; DUMP-NEXT: volatileType: 0684; DUMP-NEXT: }685; DUMP-NEXT: {686; DUMP-NEXT: symIndexId: 61687; DUMP-NEXT: symTag: FunctionSig688; DUMP-NEXT: callingConvention: __thiscall689; DUMP-NEXT: count: 2690; DUMP-NEXT: typeId: 3691; DUMP-NEXT: thisAdjust: 0692; DUMP-NEXT: constructor: 1693; DUMP-NEXT: constType: 0694; DUMP-NEXT: isConstructorVirtualBase: 0695; DUMP-NEXT: isCxxReturnUdt: 0696; DUMP-NEXT: unalignedType: 0697; DUMP-NEXT: volatileType: 0698; DUMP-NEXT: }699; DUMP-NEXT: {700; DUMP-NEXT: symIndexId: 62701; DUMP-NEXT: symTag: FunctionSig702; DUMP-NEXT: callingConvention: __thiscall703; DUMP-NEXT: count: 1704; DUMP-NEXT: typeId: 3705; DUMP-NEXT: thisAdjust: 0706; DUMP-NEXT: constructor: 1707; DUMP-NEXT: constType: 0708; DUMP-NEXT: isConstructorVirtualBase: 0709; DUMP-NEXT: isCxxReturnUdt: 0710; DUMP-NEXT: unalignedType: 0711; DUMP-NEXT: volatileType: 0712; DUMP-NEXT: }713; DUMP-NEXT: {714; DUMP-NEXT: symIndexId: 63715; DUMP-NEXT: symTag: FunctionSig716; DUMP-NEXT: callingConvention: __thiscall717; DUMP-NEXT: count: 2718; DUMP-NEXT: typeId: 64719; DUMP-NEXT: thisAdjust: 0720; DUMP-NEXT: constructor: 0721; DUMP-NEXT: constType: 0722; DUMP-NEXT: isConstructorVirtualBase: 0723; DUMP-NEXT: isCxxReturnUdt: 0724; DUMP-NEXT: unalignedType: 0725; DUMP-NEXT: volatileType: 0726; DUMP-NEXT: }727; DUMP-NEXT: {728; DUMP-NEXT: symIndexId: 65729; DUMP-NEXT: symTag: FunctionSig730; DUMP-NEXT: callingConvention: __thiscall731; DUMP-NEXT: count: 2732; DUMP-NEXT: typeId: 37733; DUMP-NEXT: thisAdjust: 0734; DUMP-NEXT: constructor: 0735; DUMP-NEXT: constType: 0736; DUMP-NEXT: isConstructorVirtualBase: 0737; DUMP-NEXT: isCxxReturnUdt: 0738; DUMP-NEXT: unalignedType: 0739; DUMP-NEXT: volatileType: 0740; DUMP-NEXT: }741; DUMP-NEXT: {742; DUMP-NEXT: symIndexId: 66743; DUMP-NEXT: symTag: FunctionSig744; DUMP-NEXT: callingConvention: __thiscall745; DUMP-NEXT: count: 2746; DUMP-NEXT: typeId: 3747; DUMP-NEXT: thisAdjust: 0748; DUMP-NEXT: constructor: 1749; DUMP-NEXT: constType: 0750; DUMP-NEXT: isConstructorVirtualBase: 1751; DUMP-NEXT: isCxxReturnUdt: 0752; DUMP-NEXT: unalignedType: 0753; DUMP-NEXT: volatileType: 0754; DUMP-NEXT: }755; DUMP-NEXT: {756; DUMP-NEXT: symIndexId: 68757; DUMP-NEXT: symTag: FunctionSig758; DUMP-NEXT: callingConvention: __thiscall759; DUMP-NEXT: count: 2760; DUMP-NEXT: typeId: 3761; DUMP-NEXT: thisAdjust: 0762; DUMP-NEXT: constructor: 1763; DUMP-NEXT: constType: 0764; DUMP-NEXT: isConstructorVirtualBase: 1765; DUMP-NEXT: isCxxReturnUdt: 0766; DUMP-NEXT: unalignedType: 0767; DUMP-NEXT: volatileType: 0768; DUMP-NEXT: }769; DUMP-NEXT: {770; DUMP-NEXT: symIndexId: 69771; DUMP-NEXT: symTag: FunctionSig772; DUMP-NEXT: callingConvention: __thiscall773; DUMP-NEXT: count: 1774; DUMP-NEXT: typeId: 3775; DUMP-NEXT: thisAdjust: 0776; DUMP-NEXT: constructor: 1777; DUMP-NEXT: constType: 0778; DUMP-NEXT: isConstructorVirtualBase: 1779; DUMP-NEXT: isCxxReturnUdt: 0780; DUMP-NEXT: unalignedType: 0781; DUMP-NEXT: volatileType: 0782; DUMP-NEXT: }783; DUMP-NEXT: {784; DUMP-NEXT: symIndexId: 70785; DUMP-NEXT: symTag: FunctionSig786; DUMP-NEXT: callingConvention: __thiscall787; DUMP-NEXT: count: 1788; DUMP-NEXT: typeId: 3789; DUMP-NEXT: thisAdjust: 4790; DUMP-NEXT: constructor: 0791; DUMP-NEXT: constType: 0792; DUMP-NEXT: isConstructorVirtualBase: 0793; DUMP-NEXT: isCxxReturnUdt: 0794; DUMP-NEXT: unalignedType: 0795; DUMP-NEXT: volatileType: 0796; DUMP-NEXT: }797; DUMP-NEXT: {798; DUMP-NEXT: symIndexId: 71799; DUMP-NEXT: symTag: FunctionSig800; DUMP-NEXT: callingConvention: __thiscall801; DUMP-NEXT: count: 2802; DUMP-NEXT: typeId: 72803; DUMP-NEXT: thisAdjust: 0804; DUMP-NEXT: constructor: 0805; DUMP-NEXT: constType: 0806; DUMP-NEXT: isConstructorVirtualBase: 0807; DUMP-NEXT: isCxxReturnUdt: 0808; DUMP-NEXT: unalignedType: 0809; DUMP-NEXT: volatileType: 0810; DUMP-NEXT: }811; DUMP-NEXT: {812; DUMP-NEXT: symIndexId: 73813; DUMP-NEXT: symTag: FunctionSig814; DUMP-NEXT: callingConvention: __thiscall815; DUMP-NEXT: count: 2816; DUMP-NEXT: typeId: 72817; DUMP-NEXT: thisAdjust: 0818; DUMP-NEXT: constructor: 0819; DUMP-NEXT: constType: 0820; DUMP-NEXT: isConstructorVirtualBase: 0821; DUMP-NEXT: isCxxReturnUdt: 0822; DUMP-NEXT: unalignedType: 0823; DUMP-NEXT: volatileType: 0824; DUMP-NEXT: }825; DUMP-NEXT: {826; DUMP-NEXT: symIndexId: 74827; DUMP-NEXT: symTag: FunctionSig828; DUMP-NEXT: callingConvention: __thiscall829; DUMP-NEXT: count: 1830; DUMP-NEXT: typeId: 3831; DUMP-NEXT: thisAdjust: 0832; DUMP-NEXT: constructor: 0833; DUMP-NEXT: constType: 0834; DUMP-NEXT: isConstructorVirtualBase: 0835; DUMP-NEXT: isCxxReturnUdt: 0836; DUMP-NEXT: unalignedType: 0837; DUMP-NEXT: volatileType: 0838; DUMP-NEXT: }839; DUMP-NEXT: {840; DUMP-NEXT: symIndexId: 75841; DUMP-NEXT: symTag: FunctionSig842; DUMP-NEXT: callingConvention: __thiscall843; DUMP-NEXT: count: 2844; DUMP-NEXT: typeId: 37845; DUMP-NEXT: thisAdjust: 4846; DUMP-NEXT: constructor: 0847; DUMP-NEXT: constType: 0848; DUMP-NEXT: isConstructorVirtualBase: 0849; DUMP-NEXT: isCxxReturnUdt: 0850; DUMP-NEXT: unalignedType: 0851; DUMP-NEXT: volatileType: 0852; DUMP-NEXT: }853; DUMP-NEXT: {854; DUMP-NEXT: symIndexId: 76855; DUMP-NEXT: symTag: FunctionSig856; DUMP-NEXT: callingConvention: __cdecl857; DUMP-NEXT: count: 0858; DUMP-NEXT: typeId: 3859; DUMP-NEXT: constructor: 0860; DUMP-NEXT: constType: 0861; DUMP-NEXT: isConstructorVirtualBase: 0862; DUMP-NEXT: isCxxReturnUdt: 0863; DUMP-NEXT: unalignedType: 0864; DUMP-NEXT: volatileType: 0865; DUMP-NEXT: }866