[test-suite] r214126 - ABI-Testsuite: Bulk of the testsuite
Sunil Srivastava
sunil_srivastava at playstation.sony.com
Mon Jul 28 14:20:39 PDT 2014
Added: test-suite/trunk/ABI-Testsuite/test/s2_6/T_vf52.x
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/ABI-Testsuite/test/s2_6/T_vf52.x?rev=214126&view=auto
==============================================================================
--- test-suite/trunk/ABI-Testsuite/test/s2_6/T_vf52.x (added)
+++ test-suite/trunk/ABI-Testsuite/test/s2_6/T_vf52.x Mon Jul 28 16:20:34 2014
@@ -0,0 +1,235894 @@
+// This file is distributed under the University of Illinois Open Source License.
+// See LICENSE.TXT for details.
+// RUN: c_compiler -c -o %t1.o -I "common" "common/testsuite.c"
+// RUN: cxx_compiler cxx_rtti -c %s -I "common" -o %t2.o
+// RUN: c_compiler -c %s -I "common" -o %t3.o
+// RUN: linker -o %t2%exeext %t1.o %t2.o %t3.o
+// RUN: runtool %t2%exeext | checker "TEST PASSED"
+#include "testsuite.h"
+#ifdef __cplusplus
+
+struct A0 {
+ int fa;
+};
+//SIG(-1 A0) C1{ Fi}
+
+
+
+static void Test_A0()
+{
+ {
+ init_simple_test("A0");
+ A0 lv;
+ check2(sizeof(lv), 4, "sizeof(A0)");
+ check2(__alignof__(lv), 4, "__alignof__(A0)");
+ check_field_offset(lv, fa, 0, "A0.fa");
+ }
+}
+static Arrange_To_Call_Me vA0(Test_A0, "A0", 4);
+
+#else // __cplusplus
+
+extern VTBL_ENTRY _ZTI2A0[];
+VTBL_ENTRY *P__ZTI2A0 = _ZTI2A0;
+Class_Descriptor cd_A0 = { "A0", // class name
+ 0,0,//no base classes
+ 0, // no vftv
+ 0, //no vtt
+ 4, // object size
+ NSPAIRA(_ZTI2A0),ABISELECT(16,8), //typeinfo_var
+ {0,0},0, // virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 0, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct A1 {
+ int fa;
+ virtual void foo(); // _ZN2A13fooEv
+ ~A1(); // tgen
+ A1(); // tgen
+};
+//SIG(-1 A1) C1{ v1 Fi}
+
+
+void A1 ::foo(){vfunc_called(this, "_ZN2A13fooEv");}
+A1 ::~A1(){ note_dtor("A1", this);} // tgen
+A1 ::A1(){ note_ctor("A1", this);} // tgen
+
+static void Test_A1()
+{
+ extern Class_Descriptor cd_A1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[3];
+ init_test(&cd_A1, buf);
+ A1 *dp, &lv = *(dp=new (buf) A1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(16,8), "sizeof(A1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(A1)");
+ check_field_offset(lv, fa, ABISELECT(8,4), "A1.fa");
+ test_class_info(&lv, &cd_A1);
+ dp->~A1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vA1(Test_A1, "A1", ABISELECT(16,8));
+
+#else // __cplusplus
+
+extern void _ZN2A1C1Ev();
+extern void _ZN2A1D1Ev();
+Name_Map name_map_A1[] = {
+ NSPAIR(_ZN2A1C1Ev),
+ NSPAIR(_ZN2A1D1Ev),
+ {0,0}
+};
+extern VTBL_ENTRY _ZTI2A1[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_A1[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI2A1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+Class_Descriptor cd_A1 = { "A1", // class name
+ 0,0,//no base classes
+ &(vtc_A1[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(16,8), // object size
+ NSPAIRA(_ZTI2A1),ABISELECT(16,8), //typeinfo_var
+ NSPAIRA(_ZTV2A1),3, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 0, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct B0 {
+ int fb;
+};
+//SIG(-1 B0) C1{ Fi}
+
+
+
+static void Test_B0()
+{
+ {
+ init_simple_test("B0");
+ B0 lv;
+ check2(sizeof(lv), 4, "sizeof(B0)");
+ check2(__alignof__(lv), 4, "__alignof__(B0)");
+ check_field_offset(lv, fb, 0, "B0.fb");
+ }
+}
+static Arrange_To_Call_Me vB0(Test_B0, "B0", 4);
+
+#else // __cplusplus
+
+extern VTBL_ENTRY _ZTI2B0[];
+VTBL_ENTRY *P__ZTI2B0 = _ZTI2B0;
+Class_Descriptor cd_B0 = { "B0", // class name
+ 0,0,//no base classes
+ 0, // no vftv
+ 0, //no vtt
+ 4, // object size
+ NSPAIRA(_ZTI2B0),ABISELECT(16,8), //typeinfo_var
+ {0,0},0, // virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 0, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct B1 {
+ int fb;
+ virtual void foo(); // _ZN2B13fooEv
+ ~B1(); // tgen
+ B1(); // tgen
+};
+//SIG(-1 B1) C1{ v1 Fi}
+
+
+void B1 ::foo(){vfunc_called(this, "_ZN2B13fooEv");}
+B1 ::~B1(){ note_dtor("B1", this);} // tgen
+B1 ::B1(){ note_ctor("B1", this);} // tgen
+
+static void Test_B1()
+{
+ extern Class_Descriptor cd_B1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[3];
+ init_test(&cd_B1, buf);
+ B1 *dp, &lv = *(dp=new (buf) B1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(16,8), "sizeof(B1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(B1)");
+ check_field_offset(lv, fb, ABISELECT(8,4), "B1.fb");
+ test_class_info(&lv, &cd_B1);
+ dp->~B1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vB1(Test_B1, "B1", ABISELECT(16,8));
+
+#else // __cplusplus
+
+extern void _ZN2B1C1Ev();
+extern void _ZN2B1D1Ev();
+Name_Map name_map_B1[] = {
+ NSPAIR(_ZN2B1C1Ev),
+ NSPAIR(_ZN2B1D1Ev),
+ {0,0}
+};
+extern VTBL_ENTRY _ZTI2B1[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_B1[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI2B1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+Class_Descriptor cd_B1 = { "B1", // class name
+ 0,0,//no base classes
+ &(vtc_B1[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(16,8), // object size
+ NSPAIRA(_ZTI2B1),ABISELECT(16,8), //typeinfo_var
+ NSPAIRA(_ZTV2B1),3, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 0, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct D0 {
+ int fd;
+};
+//SIG(1 D0) C1{ Fi}
+
+
+
+static void Test_D0()
+{
+ {
+ init_simple_test("D0");
+ D0 lv;
+ check2(sizeof(lv), 4, "sizeof(D0)");
+ check2(__alignof__(lv), 4, "__alignof__(D0)");
+ check_field_offset(lv, fd, 0, "D0.fd");
+ }
+}
+static Arrange_To_Call_Me vD0(Test_D0, "D0", 4);
+
+#else // __cplusplus
+
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct D1 {
+ int fd;
+ virtual void foo(); // _ZN2D13fooEv
+ ~D1(); // tgen
+ D1(); // tgen
+};
+//SIG(-1 D1) C1{ v1 Fi}
+
+
+void D1 ::foo(){vfunc_called(this, "_ZN2D13fooEv");}
+D1 ::~D1(){ note_dtor("D1", this);} // tgen
+D1 ::D1(){ note_ctor("D1", this);} // tgen
+
+static void Test_D1()
+{
+ extern Class_Descriptor cd_D1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[3];
+ init_test(&cd_D1, buf);
+ D1 *dp, &lv = *(dp=new (buf) D1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(16,8), "sizeof(D1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(D1)");
+ check_field_offset(lv, fd, ABISELECT(8,4), "D1.fd");
+ test_class_info(&lv, &cd_D1);
+ dp->~D1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vD1(Test_D1, "D1", ABISELECT(16,8));
+
+#else // __cplusplus
+
+extern void _ZN2D1C1Ev();
+extern void _ZN2D1D1Ev();
+Name_Map name_map_D1[] = {
+ NSPAIR(_ZN2D1C1Ev),
+ NSPAIR(_ZN2D1D1Ev),
+ {0,0}
+};
+extern VTBL_ENTRY _ZTI2D1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_D1[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI2D1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+Class_Descriptor cd_D1 = { "D1", // class name
+ 0,0,//no base classes
+ &(vtc_D1[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(16,8), // object size
+ NSPAIRA(_ZTI2D1),ABISELECT(16,8), //typeinfo_var
+ NSPAIRA(_ZTV2D1),3, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 0, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct F0 {
+ int ff;
+};
+//SIG(-1 F0) C1{ Fi}
+
+
+
+static void Test_F0()
+{
+ {
+ init_simple_test("F0");
+ F0 lv;
+ check2(sizeof(lv), 4, "sizeof(F0)");
+ check2(__alignof__(lv), 4, "__alignof__(F0)");
+ check_field_offset(lv, ff, 0, "F0.ff");
+ }
+}
+static Arrange_To_Call_Me vF0(Test_F0, "F0", 4);
+
+#else // __cplusplus
+
+extern VTBL_ENTRY _ZTI2F0[];
+VTBL_ENTRY *P__ZTI2F0 = _ZTI2F0;
+Class_Descriptor cd_F0 = { "F0", // class name
+ 0,0,//no base classes
+ 0, // no vftv
+ 0, //no vtt
+ 4, // object size
+ NSPAIRA(_ZTI2F0),ABISELECT(16,8), //typeinfo_var
+ {0,0},0, // virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 0, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct F1 {
+ int ff;
+ virtual void foo(); // _ZN2F13fooEv
+ ~F1(); // tgen
+ F1(); // tgen
+};
+//SIG(-1 F1) C1{ v1 Fi}
+
+
+void F1 ::foo(){vfunc_called(this, "_ZN2F13fooEv");}
+F1 ::~F1(){ note_dtor("F1", this);} // tgen
+F1 ::F1(){ note_ctor("F1", this);} // tgen
+
+static void Test_F1()
+{
+ extern Class_Descriptor cd_F1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[3];
+ init_test(&cd_F1, buf);
+ F1 *dp, &lv = *(dp=new (buf) F1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(16,8), "sizeof(F1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(F1)");
+ check_field_offset(lv, ff, ABISELECT(8,4), "F1.ff");
+ test_class_info(&lv, &cd_F1);
+ dp->~F1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vF1(Test_F1, "F1", ABISELECT(16,8));
+
+#else // __cplusplus
+
+extern void _ZN2F1C1Ev();
+extern void _ZN2F1D1Ev();
+Name_Map name_map_F1[] = {
+ NSPAIR(_ZN2F1C1Ev),
+ NSPAIR(_ZN2F1D1Ev),
+ {0,0}
+};
+extern VTBL_ENTRY _ZTI2F1[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_F1[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI2F1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+Class_Descriptor cd_F1 = { "F1", // class name
+ 0,0,//no base classes
+ &(vtc_F1[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(16,8), // object size
+ NSPAIRA(_ZTI2F1),ABISELECT(16,8), //typeinfo_var
+ NSPAIRA(_ZTV2F1),3, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 0, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C0 : A0 , B0 {
+ int fc;
+};
+//SIG(-1 C0) C1{ BC2{ Fi} BC3{ Fi} Fi}
+
+
+
+static void Test_C0()
+{
+ extern Class_Descriptor cd_C0;
+ void *lvp;
+ {
+ int buf[4];
+ init_test(&cd_C0, buf);
+ C0 &lv = *(new (buf) C0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), 12, "sizeof(C0)");
+ check2(__alignof__(lv), 4, "__alignof__(C0)");
+ check_base_class_offset(lv, (A0*), 0, "C0");
+ check_base_class_offset(lv, (B0*), 4, "C0");
+ check_field_offset(lv, fc, 8, "C0.fc");
+ test_class_info(&lv, &cd_C0);
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC0(Test_C0, "C0", 12);
+
+#else // __cplusplus
+
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+static Base_Class bases_C0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_B0, 4, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI2C0[];
+Class_Descriptor cd_C0 = { "C0", // class name
+ bases_C0, 2,
+ 0, // no vftv
+ 0, //no vtt
+ 12, // object size
+ NSPAIRA(_ZTI2C0),ABISELECT(56,32), //typeinfo_var
+ {0,0},0, // virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 0, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C1 : A1 , B0 {
+ int fc;
+ ~C1(); // tgen
+ C1(); // tgen
+};
+//SIG(-1 C1) C1{ BC2{ v1 Fi} BC3{ Fi} Fi}
+
+
+C1 ::~C1(){ note_dtor("C1", this);} // tgen
+C1 ::C1(){ note_ctor("C1", this);} // tgen
+
+static void Test_C1()
+{
+ extern Class_Descriptor cd_C1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(4,5)];
+ init_test(&cd_C1, buf);
+ C1 *dp, &lv = *(dp=new (buf) C1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(24,16), "sizeof(C1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C1)");
+ check_base_class_offset(lv, (A1*), 0, "C1");
+ check_base_class_offset(lv, (B0*), ABISELECT(12,8), "C1");
+ check_field_offset(lv, fc, ABISELECT(16,12), "C1.fc");
+ test_class_info(&lv, &cd_C1);
+ dp->~C1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC1(Test_C1, "C1", ABISELECT(24,16));
+
+#else // __cplusplus
+
+extern void _ZN2C1C1Ev();
+extern void _ZN2C1D1Ev();
+Name_Map name_map_C1[] = {
+ NSPAIR(_ZN2C1C1Ev),
+ NSPAIR(_ZN2C1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+static Base_Class bases_C1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ 0, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_B0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI2C1[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_C1[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTI2C1[];
+extern VTBL_ENTRY _ZTV2C1[];
+Class_Descriptor cd_C1 = { "C1", // class name
+ bases_C1, 2,
+ &(vtc_C1[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(24,16), // object size
+ NSPAIRA(_ZTI2C1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV2C1),3, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 1, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C2 : virtual A0 , B0 {
+ int fc;
+ ~C2(); // tgen
+ C2(); // tgen
+};
+//SIG(-1 C2) C1{ VBC2{ Fi} BC3{ Fi} Fi}
+
+
+C2 ::~C2(){ note_dtor("C2", this);} // tgen
+C2 ::C2(){ note_ctor("C2", this);} // tgen
+
+static void Test_C2()
+{
+ extern Class_Descriptor cd_C2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(4,5)];
+ init_test(&cd_C2, buf);
+ C2 *dp, &lv = *(dp=new (buf) C2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(24,16), "sizeof(C2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C2)");
+ check_base_class_offset(lv, (A0*), ABISELECT(16,12), "C2");
+ check_base_class_offset(lv, (B0*), ABISELECT(8,4), "C2");
+ check_field_offset(lv, fc, ABISELECT(12,8), "C2.fc");
+ test_class_info(&lv, &cd_C2);
+ dp->~C2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC2(Test_C2, "C2", ABISELECT(24,16));
+
+#else // __cplusplus
+
+extern void _ZN2C2C1Ev();
+extern void _ZN2C2D1Ev();
+Name_Map name_map_C2[] = {
+ NSPAIR(_ZN2C2C1Ev),
+ NSPAIR(_ZN2C2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+static Base_Class bases_C2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_B0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI2C2[];
+static VTBL_ENTRY vtc_C2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+extern VTBL_ENTRY _ZTV2C2[];
+static VTT_ENTRY vtt_C2[] = {
+ {&(_ZTV2C2[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI2C2[];
+extern VTBL_ENTRY _ZTV2C2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C2[];
+Class_Descriptor cd_C2 = { "C2", // class name
+ bases_C2, 2,
+ &(vtc_C2[0]), // expected_vtbl_contents
+ &(vtt_C2[0]), // expected_vtt_contents
+ ABISELECT(24,16), // object size
+ NSPAIRA(_ZTI2C2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV2C2),3, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT2C2),1, //virtual table table var
+ 0, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C3 : virtual A1 , B0 {
+ int fc;
+ ~C3(); // tgen
+ C3(); // tgen
+};
+//SIG(-1 C3) C1{ VBC2{ v1 Fi} BC3{ Fi} Fi}
+
+
+C3 ::~C3(){ note_dtor("C3", this);} // tgen
+C3 ::C3(){ note_ctor("C3", this);} // tgen
+
+static void Test_C3()
+{
+ extern Class_Descriptor cd_C3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,6)];
+ init_test(&cd_C3, buf);
+ C3 *dp, &lv = *(dp=new (buf) C3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,20), "sizeof(C3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C3)");
+ check_base_class_offset(lv, (A1*), ABISELECT(16,12), "C3");
+ check_base_class_offset(lv, (B0*), ABISELECT(8,4), "C3");
+ check_field_offset(lv, fc, ABISELECT(12,8), "C3.fc");
+ test_class_info(&lv, &cd_C3);
+ dp->~C3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC3(Test_C3, "C3", ABISELECT(32,20));
+
+#else // __cplusplus
+
+extern void _ZN2C3C1Ev();
+extern void _ZN2C3D1Ev();
+Name_Map name_map_C3[] = {
+ NSPAIR(_ZN2C3C1Ev),
+ NSPAIR(_ZN2C3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+static Base_Class bases_C3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_B0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI2C3[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_C3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV2C3[];
+static VTT_ENTRY vtt_C3[] = {
+ {&(_ZTV2C3[3]), 3,7},
+ {&(_ZTV2C3[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI2C3[];
+extern VTBL_ENTRY _ZTV2C3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C3[];
+Class_Descriptor cd_C3 = { "C3", // class name
+ bases_C3, 2,
+ &(vtc_C3[0]), // expected_vtbl_contents
+ &(vtt_C3[0]), // expected_vtt_contents
+ ABISELECT(32,20), // object size
+ NSPAIRA(_ZTI2C3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV2C3),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT2C3),2, //virtual table table var
+ 1, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C4 : A0 , B1 {
+ int fc;
+ ~C4(); // tgen
+ C4(); // tgen
+};
+//SIG(-1 C4) C1{ BC2{ Fi} BC3{ v1 Fi} Fi}
+
+
+C4 ::~C4(){ note_dtor("C4", this);} // tgen
+C4 ::C4(){ note_ctor("C4", this);} // tgen
+
+static void Test_C4()
+{
+ extern Class_Descriptor cd_C4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(4,5)];
+ init_test(&cd_C4, buf);
+ C4 *dp, &lv = *(dp=new (buf) C4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(24,16), "sizeof(C4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C4)");
+ check_base_class_offset(lv, (A0*), ABISELECT(12,8), "C4");
+ check_base_class_offset(lv, (B1*), 0, "C4");
+ check_field_offset(lv, fc, ABISELECT(16,12), "C4.fc");
+ test_class_info(&lv, &cd_C4);
+ dp->~C4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC4(Test_C4, "C4", ABISELECT(24,16));
+
+#else // __cplusplus
+
+extern void _ZN2C4C1Ev();
+extern void _ZN2C4D1Ev();
+Name_Map name_map_C4[] = {
+ NSPAIR(_ZN2C4C1Ev),
+ NSPAIR(_ZN2C4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+static Base_Class bases_C4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_B1, 0, //bcp->offset
+ 0, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI2C4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_C4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTI2C4[];
+extern VTBL_ENTRY _ZTV2C4[];
+Class_Descriptor cd_C4 = { "C4", // class name
+ bases_C4, 2,
+ &(vtc_C4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(24,16), // object size
+ NSPAIRA(_ZTI2C4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV2C4),3, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 1, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C5 : A1 , B1 {
+ int fc;
+ ~C5(); // tgen
+ C5(); // tgen
+};
+//SIG(-1 C5) C1{ BC2{ v1 Fi} BC3{ v2 Fi} Fi}
+
+
+C5 ::~C5(){ note_dtor("C5", this);} // tgen
+C5 ::C5(){ note_ctor("C5", this);} // tgen
+
+static void Test_C5()
+{
+ extern Class_Descriptor cd_C5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,6)];
+ init_test(&cd_C5, buf);
+ C5 *dp, &lv = *(dp=new (buf) C5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,20), "sizeof(C5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C5)");
+ check_base_class_offset(lv, (A1*), 0, "C5");
+ check_base_class_offset(lv, (B1*), ABISELECT(16,8), "C5");
+ check_field_offset(lv, fc, ABISELECT(28,16), "C5.fc");
+ test_class_info(&lv, &cd_C5);
+ dp->~C5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC5(Test_C5, "C5", ABISELECT(32,20));
+
+#else // __cplusplus
+
+extern void _ZN2C5C1Ev();
+extern void _ZN2C5D1Ev();
+Name_Map name_map_C5[] = {
+ NSPAIR(_ZN2C5C1Ev),
+ NSPAIR(_ZN2C5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+static Base_Class bases_C5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ 0, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_B1, ABISELECT(16,8), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI2C5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_C5[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI2C5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTI2C5[];
+extern VTBL_ENTRY _ZTV2C5[];
+Class_Descriptor cd_C5 = { "C5", // class name
+ bases_C5, 2,
+ &(vtc_C5[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(32,20), // object size
+ NSPAIRA(_ZTI2C5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV2C5),6, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 2, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C6 : virtual A0 , B1 {
+ int fc;
+ ~C6(); // tgen
+ C6(); // tgen
+};
+//SIG(-1 C6) C1{ VBC2{ Fi} BC3{ v1 Fi} Fi}
+
+
+C6 ::~C6(){ note_dtor("C6", this);} // tgen
+C6 ::C6(){ note_ctor("C6", this);} // tgen
+
+static void Test_C6()
+{
+ extern Class_Descriptor cd_C6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(4,5)];
+ init_test(&cd_C6, buf);
+ C6 *dp, &lv = *(dp=new (buf) C6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(24,16), "sizeof(C6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C6)");
+ check_base_class_offset(lv, (A0*), ABISELECT(16,12), "C6");
+ check_base_class_offset(lv, (B1*), 0, "C6");
+ check_field_offset(lv, fc, ABISELECT(12,8), "C6.fc");
+ test_class_info(&lv, &cd_C6);
+ dp->~C6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC6(Test_C6, "C6", ABISELECT(24,16));
+
+#else // __cplusplus
+
+extern void _ZN2C6C1Ev();
+extern void _ZN2C6D1Ev();
+Name_Map name_map_C6[] = {
+ NSPAIR(_ZN2C6C1Ev),
+ NSPAIR(_ZN2C6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+static Base_Class bases_C6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI2C6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_C6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV2C6[];
+static VTT_ENTRY vtt_C6[] = {
+ {&(_ZTV2C6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI2C6[];
+extern VTBL_ENTRY _ZTV2C6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C6[];
+Class_Descriptor cd_C6 = { "C6", // class name
+ bases_C6, 2,
+ &(vtc_C6[0]), // expected_vtbl_contents
+ &(vtt_C6[0]), // expected_vtt_contents
+ ABISELECT(24,16), // object size
+ NSPAIRA(_ZTI2C6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV2C6),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT2C6),1, //virtual table table var
+ 1, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C7 : virtual A1 , B1 {
+ int fc;
+ ~C7(); // tgen
+ C7(); // tgen
+};
+//SIG(-1 C7) C1{ VBC2{ v1 Fi} BC3{ v2 Fi} Fi}
+
+
+C7 ::~C7(){ note_dtor("C7", this);} // tgen
+C7 ::C7(){ note_ctor("C7", this);} // tgen
+
+static void Test_C7()
+{
+ extern Class_Descriptor cd_C7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,6)];
+ init_test(&cd_C7, buf);
+ C7 *dp, &lv = *(dp=new (buf) C7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,20), "sizeof(C7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C7)");
+ check_base_class_offset(lv, (A1*), ABISELECT(16,12), "C7");
+ check_base_class_offset(lv, (B1*), 0, "C7");
+ check_field_offset(lv, fc, ABISELECT(12,8), "C7.fc");
+ test_class_info(&lv, &cd_C7);
+ dp->~C7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC7(Test_C7, "C7", ABISELECT(32,20));
+
+#else // __cplusplus
+
+extern void _ZN2C7C1Ev();
+extern void _ZN2C7D1Ev();
+Name_Map name_map_C7[] = {
+ NSPAIR(_ZN2C7C1Ev),
+ NSPAIR(_ZN2C7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+static Base_Class bases_C7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI2C7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_C7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV2C7[];
+static VTT_ENTRY vtt_C7[] = {
+ {&(_ZTV2C7[3]), 3,8},
+ {&(_ZTV2C7[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI2C7[];
+extern VTBL_ENTRY _ZTV2C7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C7[];
+Class_Descriptor cd_C7 = { "C7", // class name
+ bases_C7, 2,
+ &(vtc_C7[0]), // expected_vtbl_contents
+ &(vtt_C7[0]), // expected_vtt_contents
+ ABISELECT(32,20), // object size
+ NSPAIRA(_ZTI2C7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV2C7),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT2C7),2, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C8 : A0 , virtual B0 {
+ int fc;
+ ~C8(); // tgen
+ C8(); // tgen
+};
+//SIG(-1 C8) C1{ BC2{ Fi} VBC3{ Fi} Fi}
+
+
+C8 ::~C8(){ note_dtor("C8", this);} // tgen
+C8 ::C8(){ note_ctor("C8", this);} // tgen
+
+static void Test_C8()
+{
+ extern Class_Descriptor cd_C8;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(4,5)];
+ init_test(&cd_C8, buf);
+ C8 *dp, &lv = *(dp=new (buf) C8());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(24,16), "sizeof(C8)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C8)");
+ check_base_class_offset(lv, (A0*), ABISELECT(8,4), "C8");
+ check_base_class_offset(lv, (B0*), ABISELECT(16,12), "C8");
+ check_field_offset(lv, fc, ABISELECT(12,8), "C8.fc");
+ test_class_info(&lv, &cd_C8);
+ dp->~C8();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC8(Test_C8, "C8", ABISELECT(24,16));
+
+#else // __cplusplus
+
+extern void _ZN2C8C1Ev();
+extern void _ZN2C8D1Ev();
+Name_Map name_map_C8[] = {
+ NSPAIR(_ZN2C8C1Ev),
+ NSPAIR(_ZN2C8D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+static Base_Class bases_C8[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_B0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI2C8[];
+static VTBL_ENTRY vtc_C8[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+extern VTBL_ENTRY _ZTV2C8[];
+static VTT_ENTRY vtt_C8[] = {
+ {&(_ZTV2C8[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI2C8[];
+extern VTBL_ENTRY _ZTV2C8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C8[];
+Class_Descriptor cd_C8 = { "C8", // class name
+ bases_C8, 2,
+ &(vtc_C8[0]), // expected_vtbl_contents
+ &(vtt_C8[0]), // expected_vtt_contents
+ ABISELECT(24,16), // object size
+ NSPAIRA(_ZTI2C8),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV2C8),3, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT2C8),1, //virtual table table var
+ 0, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C9 : A1 , virtual B0 {
+ int fc;
+ ~C9(); // tgen
+ C9(); // tgen
+};
+//SIG(-1 C9) C1{ BC2{ v1 Fi} VBC3{ Fi} Fi}
+
+
+C9 ::~C9(){ note_dtor("C9", this);} // tgen
+C9 ::C9(){ note_ctor("C9", this);} // tgen
+
+static void Test_C9()
+{
+ extern Class_Descriptor cd_C9;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(4,5)];
+ init_test(&cd_C9, buf);
+ C9 *dp, &lv = *(dp=new (buf) C9());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(24,16), "sizeof(C9)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C9)");
+ check_base_class_offset(lv, (A1*), 0, "C9");
+ check_base_class_offset(lv, (B0*), ABISELECT(16,12), "C9");
+ check_field_offset(lv, fc, ABISELECT(12,8), "C9.fc");
+ test_class_info(&lv, &cd_C9);
+ dp->~C9();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC9(Test_C9, "C9", ABISELECT(24,16));
+
+#else // __cplusplus
+
+extern void _ZN2C9C1Ev();
+extern void _ZN2C9D1Ev();
+Name_Map name_map_C9[] = {
+ NSPAIR(_ZN2C9C1Ev),
+ NSPAIR(_ZN2C9D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+static Base_Class bases_C9[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_B0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI2C9[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_C9[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV2C9[];
+static VTT_ENTRY vtt_C9[] = {
+ {&(_ZTV2C9[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI2C9[];
+extern VTBL_ENTRY _ZTV2C9[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C9[];
+Class_Descriptor cd_C9 = { "C9", // class name
+ bases_C9, 2,
+ &(vtc_C9[0]), // expected_vtbl_contents
+ &(vtt_C9[0]), // expected_vtt_contents
+ ABISELECT(24,16), // object size
+ NSPAIRA(_ZTI2C9),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV2C9),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT2C9),1, //virtual table table var
+ 1, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C10 : virtual A0 , virtual B0 {
+ int fc;
+ ~C10(); // tgen
+ C10(); // tgen
+};
+//SIG(-1 C10) C1{ VBC2{ Fi} VBC3{ Fi} Fi}
+
+
+C10 ::~C10(){ note_dtor("C10", this);} // tgen
+C10 ::C10(){ note_ctor("C10", this);} // tgen
+
+static void Test_C10()
+{
+ extern Class_Descriptor cd_C10;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(4,5)];
+ init_test(&cd_C10, buf);
+ C10 *dp, &lv = *(dp=new (buf) C10());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(24,16), "sizeof(C10)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C10)");
+ check_base_class_offset(lv, (A0*), ABISELECT(12,8), "C10");
+ check_base_class_offset(lv, (B0*), ABISELECT(16,12), "C10");
+ check_field_offset(lv, fc, ABISELECT(8,4), "C10.fc");
+ test_class_info(&lv, &cd_C10);
+ dp->~C10();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC10(Test_C10, "C10", ABISELECT(24,16));
+
+#else // __cplusplus
+
+extern void _ZN3C10C1Ev();
+extern void _ZN3C10D1Ev();
+Name_Map name_map_C10[] = {
+ NSPAIR(_ZN3C10C1Ev),
+ NSPAIR(_ZN3C10D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+static Base_Class bases_C10[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_B0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI3C10[];
+static VTBL_ENTRY vtc_C10[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+extern VTBL_ENTRY _ZTV3C10[];
+static VTT_ENTRY vtt_C10[] = {
+ {&(_ZTV3C10[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI3C10[];
+extern VTBL_ENTRY _ZTV3C10[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C10[];
+Class_Descriptor cd_C10 = { "C10", // class name
+ bases_C10, 2,
+ &(vtc_C10[0]), // expected_vtbl_contents
+ &(vtt_C10[0]), // expected_vtt_contents
+ ABISELECT(24,16), // object size
+ NSPAIRA(_ZTI3C10),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C10),4, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C10),1, //virtual table table var
+ 0, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C11 : virtual A1 , virtual B0 {
+ int fc;
+ ~C11(); // tgen
+ C11(); // tgen
+};
+//SIG(-1 C11) C1{ VBC2{ v1 Fi} VBC3{ Fi} Fi}
+
+
+C11 ::~C11(){ note_dtor("C11", this);} // tgen
+C11 ::C11(){ note_ctor("C11", this);} // tgen
+
+static void Test_C11()
+{
+ extern Class_Descriptor cd_C11;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,6)];
+ init_test(&cd_C11, buf);
+ C11 *dp, &lv = *(dp=new (buf) C11());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,20), "sizeof(C11)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C11)");
+ check_base_class_offset(lv, (A1*), ABISELECT(16,8), "C11");
+ check_base_class_offset(lv, (B0*), ABISELECT(28,16), "C11");
+ check_field_offset(lv, fc, ABISELECT(8,4), "C11.fc");
+ test_class_info(&lv, &cd_C11);
+ dp->~C11();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC11(Test_C11, "C11", ABISELECT(32,20));
+
+#else // __cplusplus
+
+extern void _ZN3C11C1Ev();
+extern void _ZN3C11D1Ev();
+Name_Map name_map_C11[] = {
+ NSPAIR(_ZN3C11C1Ev),
+ NSPAIR(_ZN3C11D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+static Base_Class bases_C11[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_B0, ABISELECT(28,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI3C11[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_C11[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV3C11[];
+static VTT_ENTRY vtt_C11[] = {
+ {&(_ZTV3C11[4]), 4,8},
+ {&(_ZTV3C11[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI3C11[];
+extern VTBL_ENTRY _ZTV3C11[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C11[];
+Class_Descriptor cd_C11 = { "C11", // class name
+ bases_C11, 2,
+ &(vtc_C11[0]), // expected_vtbl_contents
+ &(vtt_C11[0]), // expected_vtt_contents
+ ABISELECT(32,20), // object size
+ NSPAIRA(_ZTI3C11),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C11),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C11),2, //virtual table table var
+ 1, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C12 : A0 , virtual B1 {
+ int fc;
+ ~C12(); // tgen
+ C12(); // tgen
+};
+//SIG(-1 C12) C1{ BC2{ Fi} VBC3{ v1 Fi} Fi}
+
+
+C12 ::~C12(){ note_dtor("C12", this);} // tgen
+C12 ::C12(){ note_ctor("C12", this);} // tgen
+
+static void Test_C12()
+{
+ extern Class_Descriptor cd_C12;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,6)];
+ init_test(&cd_C12, buf);
+ C12 *dp, &lv = *(dp=new (buf) C12());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,20), "sizeof(C12)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C12)");
+ check_base_class_offset(lv, (A0*), ABISELECT(8,4), "C12");
+ check_base_class_offset(lv, (B1*), ABISELECT(16,12), "C12");
+ check_field_offset(lv, fc, ABISELECT(12,8), "C12.fc");
+ test_class_info(&lv, &cd_C12);
+ dp->~C12();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC12(Test_C12, "C12", ABISELECT(32,20));
+
+#else // __cplusplus
+
+extern void _ZN3C12C1Ev();
+extern void _ZN3C12D1Ev();
+Name_Map name_map_C12[] = {
+ NSPAIR(_ZN3C12C1Ev),
+ NSPAIR(_ZN3C12D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+static Base_Class bases_C12[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_B1, ABISELECT(16,12), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI3C12[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_C12[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV3C12[];
+static VTT_ENTRY vtt_C12[] = {
+ {&(_ZTV3C12[3]), 3,7},
+ {&(_ZTV3C12[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI3C12[];
+extern VTBL_ENTRY _ZTV3C12[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C12[];
+Class_Descriptor cd_C12 = { "C12", // class name
+ bases_C12, 2,
+ &(vtc_C12[0]), // expected_vtbl_contents
+ &(vtt_C12[0]), // expected_vtt_contents
+ ABISELECT(32,20), // object size
+ NSPAIRA(_ZTI3C12),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C12),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C12),2, //virtual table table var
+ 1, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C13 : A1 , virtual B1 {
+ int fc;
+ ~C13(); // tgen
+ C13(); // tgen
+};
+//SIG(-1 C13) C1{ BC2{ v1 Fi} VBC3{ v2 Fi} Fi}
+
+
+C13 ::~C13(){ note_dtor("C13", this);} // tgen
+C13 ::C13(){ note_ctor("C13", this);} // tgen
+
+static void Test_C13()
+{
+ extern Class_Descriptor cd_C13;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,6)];
+ init_test(&cd_C13, buf);
+ C13 *dp, &lv = *(dp=new (buf) C13());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,20), "sizeof(C13)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C13)");
+ check_base_class_offset(lv, (A1*), 0, "C13");
+ check_base_class_offset(lv, (B1*), ABISELECT(16,12), "C13");
+ check_field_offset(lv, fc, ABISELECT(12,8), "C13.fc");
+ test_class_info(&lv, &cd_C13);
+ dp->~C13();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC13(Test_C13, "C13", ABISELECT(32,20));
+
+#else // __cplusplus
+
+extern void _ZN3C13C1Ev();
+extern void _ZN3C13D1Ev();
+Name_Map name_map_C13[] = {
+ NSPAIR(_ZN3C13C1Ev),
+ NSPAIR(_ZN3C13D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+static Base_Class bases_C13[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_B1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI3C13[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_C13[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV3C13[];
+static VTT_ENTRY vtt_C13[] = {
+ {&(_ZTV3C13[3]), 3,8},
+ {&(_ZTV3C13[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI3C13[];
+extern VTBL_ENTRY _ZTV3C13[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C13[];
+Class_Descriptor cd_C13 = { "C13", // class name
+ bases_C13, 2,
+ &(vtc_C13[0]), // expected_vtbl_contents
+ &(vtt_C13[0]), // expected_vtt_contents
+ ABISELECT(32,20), // object size
+ NSPAIRA(_ZTI3C13),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C13),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C13),2, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C14 : virtual A0 , virtual B1 {
+ int fc;
+ ~C14(); // tgen
+ C14(); // tgen
+};
+//SIG(-1 C14) C1{ VBC2{ Fi} VBC3{ v1 Fi} Fi}
+
+
+C14 ::~C14(){ note_dtor("C14", this);} // tgen
+C14 ::C14(){ note_ctor("C14", this);} // tgen
+
+static void Test_C14()
+{
+ extern Class_Descriptor cd_C14;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,6)];
+ init_test(&cd_C14, buf);
+ C14 *dp, &lv = *(dp=new (buf) C14());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,20), "sizeof(C14)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C14)");
+ check_base_class_offset(lv, (A0*), ABISELECT(12,8), "C14");
+ check_base_class_offset(lv, (B1*), ABISELECT(16,12), "C14");
+ check_field_offset(lv, fc, ABISELECT(8,4), "C14.fc");
+ test_class_info(&lv, &cd_C14);
+ dp->~C14();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC14(Test_C14, "C14", ABISELECT(32,20));
+
+#else // __cplusplus
+
+extern void _ZN3C14C1Ev();
+extern void _ZN3C14D1Ev();
+Name_Map name_map_C14[] = {
+ NSPAIR(_ZN3C14C1Ev),
+ NSPAIR(_ZN3C14D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+static Base_Class bases_C14[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_B1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI3C14[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_C14[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV3C14[];
+static VTT_ENTRY vtt_C14[] = {
+ {&(_ZTV3C14[4]), 4,8},
+ {&(_ZTV3C14[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI3C14[];
+extern VTBL_ENTRY _ZTV3C14[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C14[];
+Class_Descriptor cd_C14 = { "C14", // class name
+ bases_C14, 2,
+ &(vtc_C14[0]), // expected_vtbl_contents
+ &(vtt_C14[0]), // expected_vtt_contents
+ ABISELECT(32,20), // object size
+ NSPAIRA(_ZTI3C14),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C14),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C14),2, //virtual table table var
+ 1, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C15 : virtual A1 , virtual B1 {
+ int fc;
+ ~C15(); // tgen
+ C15(); // tgen
+};
+//SIG(-1 C15) C1{ VBC2{ v1 Fi} VBC3{ v2 Fi} Fi}
+
+
+C15 ::~C15(){ note_dtor("C15", this);} // tgen
+C15 ::C15(){ note_ctor("C15", this);} // tgen
+
+static void Test_C15()
+{
+ extern Class_Descriptor cd_C15;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[7];
+ init_test(&cd_C15, buf);
+ C15 *dp, &lv = *(dp=new (buf) C15());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,24), "sizeof(C15)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C15)");
+ check_base_class_offset(lv, (A1*), ABISELECT(16,8), "C15");
+ check_base_class_offset(lv, (B1*), ABISELECT(32,16), "C15");
+ check_field_offset(lv, fc, ABISELECT(8,4), "C15.fc");
+ test_class_info(&lv, &cd_C15);
+ dp->~C15();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC15(Test_C15, "C15", ABISELECT(48,24));
+
+#else // __cplusplus
+
+extern void _ZN3C15C1Ev();
+extern void _ZN3C15D1Ev();
+Name_Map name_map_C15[] = {
+ NSPAIR(_ZN3C15C1Ev),
+ NSPAIR(_ZN3C15D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+static Base_Class bases_C15[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_B1, ABISELECT(32,16), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI3C15[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_C15[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV3C15[];
+static VTT_ENTRY vtt_C15[] = {
+ {&(_ZTV3C15[4]), 4,12},
+ {&(_ZTV3C15[7]), 7,12},
+ {&(_ZTV3C15[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI3C15[];
+extern VTBL_ENTRY _ZTV3C15[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C15[];
+Class_Descriptor cd_C15 = { "C15", // class name
+ bases_C15, 2,
+ &(vtc_C15[0]), // expected_vtbl_contents
+ &(vtt_C15[0]), // expected_vtt_contents
+ ABISELECT(48,24), // object size
+ NSPAIRA(_ZTI3C15),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C15),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C15),3, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C16 : A0 , B0 {
+ int fc;
+ virtual void foo(); // _ZN3C163fooEv
+ ~C16(); // tgen
+ C16(); // tgen
+};
+//SIG(-1 C16) C1{ BC2{ Fi} BC3{ Fi} v1 Fi}
+
+
+void C16 ::foo(){vfunc_called(this, "_ZN3C163fooEv");}
+C16 ::~C16(){ note_dtor("C16", this);} // tgen
+C16 ::C16(){ note_ctor("C16", this);} // tgen
+
+static void Test_C16()
+{
+ extern Class_Descriptor cd_C16;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(4,5)];
+ init_test(&cd_C16, buf);
+ C16 *dp, &lv = *(dp=new (buf) C16());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(24,16), "sizeof(C16)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C16)");
+ check_base_class_offset(lv, (A0*), ABISELECT(8,4), "C16");
+ check_base_class_offset(lv, (B0*), ABISELECT(12,8), "C16");
+ check_field_offset(lv, fc, ABISELECT(16,12), "C16.fc");
+ test_class_info(&lv, &cd_C16);
+ dp->~C16();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC16(Test_C16, "C16", ABISELECT(24,16));
+
+#else // __cplusplus
+
+extern void _ZN3C16C1Ev();
+extern void _ZN3C16D1Ev();
+Name_Map name_map_C16[] = {
+ NSPAIR(_ZN3C16C1Ev),
+ NSPAIR(_ZN3C16D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+static Base_Class bases_C16[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_B0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI3C16[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_C16[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C16[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+Class_Descriptor cd_C16 = { "C16", // class name
+ bases_C16, 2,
+ &(vtc_C16[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(24,16), // object size
+ NSPAIRA(_ZTI3C16),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C16),3, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 0, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C17 : A1 , B0 {
+ int fc;
+ virtual void foo(); // _ZN3C173fooEv
+ ~C17(); // tgen
+ C17(); // tgen
+};
+//SIG(-1 C17) C1{ BC2{ v1 Fi} BC3{ Fi} v1 Fi}
+
+
+void C17 ::foo(){vfunc_called(this, "_ZN3C173fooEv");}
+C17 ::~C17(){ note_dtor("C17", this);} // tgen
+C17 ::C17(){ note_ctor("C17", this);} // tgen
+
+static void Test_C17()
+{
+ extern Class_Descriptor cd_C17;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(4,5)];
+ init_test(&cd_C17, buf);
+ C17 *dp, &lv = *(dp=new (buf) C17());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(24,16), "sizeof(C17)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C17)");
+ check_base_class_offset(lv, (A1*), 0, "C17");
+ check_base_class_offset(lv, (B0*), ABISELECT(12,8), "C17");
+ check_field_offset(lv, fc, ABISELECT(16,12), "C17.fc");
+ test_class_info(&lv, &cd_C17);
+ dp->~C17();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC17(Test_C17, "C17", ABISELECT(24,16));
+
+#else // __cplusplus
+
+extern void _ZN3C17C1Ev();
+extern void _ZN3C17D1Ev();
+Name_Map name_map_C17[] = {
+ NSPAIR(_ZN3C17C1Ev),
+ NSPAIR(_ZN3C17D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+static Base_Class bases_C17[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_B0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI3C17[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_C17[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C17[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+Class_Descriptor cd_C17 = { "C17", // class name
+ bases_C17, 2,
+ &(vtc_C17[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(24,16), // object size
+ NSPAIRA(_ZTI3C17),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C17),3, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 1, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C18 : virtual A0 , B0 {
+ int fc;
+ virtual void foo(); // _ZN3C183fooEv
+ ~C18(); // tgen
+ C18(); // tgen
+};
+//SIG(-1 C18) C1{ VBC2{ Fi} BC3{ Fi} v1 Fi}
+
+
+void C18 ::foo(){vfunc_called(this, "_ZN3C183fooEv");}
+C18 ::~C18(){ note_dtor("C18", this);} // tgen
+C18 ::C18(){ note_ctor("C18", this);} // tgen
+
+static void Test_C18()
+{
+ extern Class_Descriptor cd_C18;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(4,5)];
+ init_test(&cd_C18, buf);
+ C18 *dp, &lv = *(dp=new (buf) C18());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(24,16), "sizeof(C18)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C18)");
+ check_base_class_offset(lv, (A0*), ABISELECT(16,12), "C18");
+ check_base_class_offset(lv, (B0*), ABISELECT(8,4), "C18");
+ check_field_offset(lv, fc, ABISELECT(12,8), "C18.fc");
+ test_class_info(&lv, &cd_C18);
+ dp->~C18();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC18(Test_C18, "C18", ABISELECT(24,16));
+
+#else // __cplusplus
+
+extern void _ZN3C18C1Ev();
+extern void _ZN3C18D1Ev();
+Name_Map name_map_C18[] = {
+ NSPAIR(_ZN3C18C1Ev),
+ NSPAIR(_ZN3C18D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+static Base_Class bases_C18[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_B0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI3C18[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_C18[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV3C18[];
+static VTT_ENTRY vtt_C18[] = {
+ {&(_ZTV3C18[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+Class_Descriptor cd_C18 = { "C18", // class name
+ bases_C18, 2,
+ &(vtc_C18[0]), // expected_vtbl_contents
+ &(vtt_C18[0]), // expected_vtt_contents
+ ABISELECT(24,16), // object size
+ NSPAIRA(_ZTI3C18),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C18),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C18),1, //virtual table table var
+ 0, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C19 : virtual A1 , B0 {
+ int fc;
+ virtual void foo(); // _ZN3C193fooEv
+ ~C19(); // tgen
+ C19(); // tgen
+};
+//SIG(-1 C19) C1{ VBC2{ v1 Fi} BC3{ Fi} v1 Fi}
+
+
+void C19 ::foo(){vfunc_called(this, "_ZN3C193fooEv");}
+C19 ::~C19(){ note_dtor("C19", this);} // tgen
+C19 ::C19(){ note_ctor("C19", this);} // tgen
+
+static void Test_C19()
+{
+ extern Class_Descriptor cd_C19;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,6)];
+ init_test(&cd_C19, buf);
+ C19 *dp, &lv = *(dp=new (buf) C19());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,20), "sizeof(C19)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C19)");
+ check_base_class_offset(lv, (A1*), ABISELECT(16,12), "C19");
+ check_base_class_offset(lv, (B0*), ABISELECT(8,4), "C19");
+ check_field_offset(lv, fc, ABISELECT(12,8), "C19.fc");
+ test_class_info(&lv, &cd_C19);
+ dp->~C19();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC19(Test_C19, "C19", ABISELECT(32,20));
+
+#else // __cplusplus
+
+extern void _ZN3C19C1Ev();
+extern void _ZN3C19D1Ev();
+Name_Map name_map_C19[] = {
+ NSPAIR(_ZN3C19C1Ev),
+ NSPAIR(_ZN3C19D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+static Base_Class bases_C19[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_B0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI3C19[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_C19[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV3C19[];
+static VTT_ENTRY vtt_C19[] = {
+ {&(_ZTV3C19[3]), 3,8},
+ {&(_ZTV3C19[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+static VTBL_ENTRY alt_thunk_names1[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_C19 = { "C19", // class name
+ bases_C19, 2,
+ &(vtc_C19[0]), // expected_vtbl_contents
+ &(vtt_C19[0]), // expected_vtt_contents
+ ABISELECT(32,20), // object size
+ NSPAIRA(_ZTI3C19),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C19),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C19),2, //virtual table table var
+ 1, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names1,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C20 : A0 , B1 {
+ int fc;
+ virtual void foo(); // _ZN3C203fooEv
+ ~C20(); // tgen
+ C20(); // tgen
+};
+//SIG(-1 C20) C1{ BC2{ Fi} BC3{ v1 Fi} v1 Fi}
+
+
+void C20 ::foo(){vfunc_called(this, "_ZN3C203fooEv");}
+C20 ::~C20(){ note_dtor("C20", this);} // tgen
+C20 ::C20(){ note_ctor("C20", this);} // tgen
+
+static void Test_C20()
+{
+ extern Class_Descriptor cd_C20;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(4,5)];
+ init_test(&cd_C20, buf);
+ C20 *dp, &lv = *(dp=new (buf) C20());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(24,16), "sizeof(C20)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C20)");
+ check_base_class_offset(lv, (A0*), ABISELECT(12,8), "C20");
+ check_base_class_offset(lv, (B1*), 0, "C20");
+ check_field_offset(lv, fc, ABISELECT(16,12), "C20.fc");
+ test_class_info(&lv, &cd_C20);
+ dp->~C20();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC20(Test_C20, "C20", ABISELECT(24,16));
+
+#else // __cplusplus
+
+extern void _ZN3C20C1Ev();
+extern void _ZN3C20D1Ev();
+Name_Map name_map_C20[] = {
+ NSPAIR(_ZN3C20C1Ev),
+ NSPAIR(_ZN3C20D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+static Base_Class bases_C20[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI3C20[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_C20[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C20[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+Class_Descriptor cd_C20 = { "C20", // class name
+ bases_C20, 2,
+ &(vtc_C20[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(24,16), // object size
+ NSPAIRA(_ZTI3C20),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C20),3, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 1, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C21 : A1 , B1 {
+ int fc;
+ virtual void foo(); // _ZN3C213fooEv
+ ~C21(); // tgen
+ C21(); // tgen
+};
+//SIG(-1 C21) C1{ BC2{ v1 Fi} BC3{ v1 Fi} v1 Fi}
+
+
+void C21 ::foo(){vfunc_called(this, "_ZN3C213fooEv");}
+C21 ::~C21(){ note_dtor("C21", this);} // tgen
+C21 ::C21(){ note_ctor("C21", this);} // tgen
+
+static void Test_C21()
+{
+ extern Class_Descriptor cd_C21;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,6)];
+ init_test(&cd_C21, buf);
+ C21 *dp, &lv = *(dp=new (buf) C21());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,20), "sizeof(C21)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C21)");
+ check_base_class_offset(lv, (A1*), 0, "C21");
+ check_base_class_offset(lv, (B1*), ABISELECT(16,8), "C21");
+ check_field_offset(lv, fc, ABISELECT(28,16), "C21.fc");
+ test_class_info(&lv, &cd_C21);
+ dp->~C21();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC21(Test_C21, "C21", ABISELECT(32,20));
+
+#else // __cplusplus
+
+extern void _ZN3C21C1Ev();
+extern void _ZN3C21D1Ev();
+Name_Map name_map_C21[] = {
+ NSPAIR(_ZN3C21C1Ev),
+ NSPAIR(_ZN3C21D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+static Base_Class bases_C21[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_B1, ABISELECT(16,8), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI3C21[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_C21[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C21[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C21[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+Class_Descriptor cd_C21 = { "C21", // class name
+ bases_C21, 2,
+ &(vtc_C21[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(32,20), // object size
+ NSPAIRA(_ZTI3C21),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C21),6, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 2, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C22 : virtual A0 , B1 {
+ int fc;
+ virtual void foo(); // _ZN3C223fooEv
+ ~C22(); // tgen
+ C22(); // tgen
+};
+//SIG(-1 C22) C1{ VBC2{ Fi} BC3{ v1 Fi} v1 Fi}
+
+
+void C22 ::foo(){vfunc_called(this, "_ZN3C223fooEv");}
+C22 ::~C22(){ note_dtor("C22", this);} // tgen
+C22 ::C22(){ note_ctor("C22", this);} // tgen
+
+static void Test_C22()
+{
+ extern Class_Descriptor cd_C22;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(4,5)];
+ init_test(&cd_C22, buf);
+ C22 *dp, &lv = *(dp=new (buf) C22());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(24,16), "sizeof(C22)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C22)");
+ check_base_class_offset(lv, (A0*), ABISELECT(16,12), "C22");
+ check_base_class_offset(lv, (B1*), 0, "C22");
+ check_field_offset(lv, fc, ABISELECT(12,8), "C22.fc");
+ test_class_info(&lv, &cd_C22);
+ dp->~C22();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC22(Test_C22, "C22", ABISELECT(24,16));
+
+#else // __cplusplus
+
+extern void _ZN3C22C1Ev();
+extern void _ZN3C22D1Ev();
+Name_Map name_map_C22[] = {
+ NSPAIR(_ZN3C22C1Ev),
+ NSPAIR(_ZN3C22D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+static Base_Class bases_C22[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI3C22[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_C22[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV3C22[];
+static VTT_ENTRY vtt_C22[] = {
+ {&(_ZTV3C22[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+Class_Descriptor cd_C22 = { "C22", // class name
+ bases_C22, 2,
+ &(vtc_C22[0]), // expected_vtbl_contents
+ &(vtt_C22[0]), // expected_vtt_contents
+ ABISELECT(24,16), // object size
+ NSPAIRA(_ZTI3C22),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C22),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C22),1, //virtual table table var
+ 1, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C23 : virtual A1 , B1 {
+ int fc;
+ virtual void foo(); // _ZN3C233fooEv
+ ~C23(); // tgen
+ C23(); // tgen
+};
+//SIG(-1 C23) C1{ VBC2{ v1 Fi} BC3{ v1 Fi} v1 Fi}
+
+
+void C23 ::foo(){vfunc_called(this, "_ZN3C233fooEv");}
+C23 ::~C23(){ note_dtor("C23", this);} // tgen
+C23 ::C23(){ note_ctor("C23", this);} // tgen
+
+static void Test_C23()
+{
+ extern Class_Descriptor cd_C23;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,6)];
+ init_test(&cd_C23, buf);
+ C23 *dp, &lv = *(dp=new (buf) C23());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,20), "sizeof(C23)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C23)");
+ check_base_class_offset(lv, (A1*), ABISELECT(16,12), "C23");
+ check_base_class_offset(lv, (B1*), 0, "C23");
+ check_field_offset(lv, fc, ABISELECT(12,8), "C23.fc");
+ test_class_info(&lv, &cd_C23);
+ dp->~C23();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC23(Test_C23, "C23", ABISELECT(32,20));
+
+#else // __cplusplus
+
+extern void _ZN3C23C1Ev();
+extern void _ZN3C23D1Ev();
+Name_Map name_map_C23[] = {
+ NSPAIR(_ZN3C23C1Ev),
+ NSPAIR(_ZN3C23D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+static Base_Class bases_C23[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI3C23[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_C23[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV3C23[];
+static VTT_ENTRY vtt_C23[] = {
+ {&(_ZTV3C23[3]), 3,8},
+ {&(_ZTV3C23[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+static VTBL_ENTRY alt_thunk_names2[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_C23 = { "C23", // class name
+ bases_C23, 2,
+ &(vtc_C23[0]), // expected_vtbl_contents
+ &(vtt_C23[0]), // expected_vtt_contents
+ ABISELECT(32,20), // object size
+ NSPAIRA(_ZTI3C23),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C23),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C23),2, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names2,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C24 : A0 , virtual B0 {
+ int fc;
+ virtual void foo(); // _ZN3C243fooEv
+ ~C24(); // tgen
+ C24(); // tgen
+};
+//SIG(-1 C24) C1{ BC2{ Fi} VBC3{ Fi} v1 Fi}
+
+
+void C24 ::foo(){vfunc_called(this, "_ZN3C243fooEv");}
+C24 ::~C24(){ note_dtor("C24", this);} // tgen
+C24 ::C24(){ note_ctor("C24", this);} // tgen
+
+static void Test_C24()
+{
+ extern Class_Descriptor cd_C24;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(4,5)];
+ init_test(&cd_C24, buf);
+ C24 *dp, &lv = *(dp=new (buf) C24());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(24,16), "sizeof(C24)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C24)");
+ check_base_class_offset(lv, (A0*), ABISELECT(8,4), "C24");
+ check_base_class_offset(lv, (B0*), ABISELECT(16,12), "C24");
+ check_field_offset(lv, fc, ABISELECT(12,8), "C24.fc");
+ test_class_info(&lv, &cd_C24);
+ dp->~C24();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC24(Test_C24, "C24", ABISELECT(24,16));
+
+#else // __cplusplus
+
+extern void _ZN3C24C1Ev();
+extern void _ZN3C24D1Ev();
+Name_Map name_map_C24[] = {
+ NSPAIR(_ZN3C24C1Ev),
+ NSPAIR(_ZN3C24D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+static Base_Class bases_C24[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_B0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI3C24[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_C24[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV3C24[];
+static VTT_ENTRY vtt_C24[] = {
+ {&(_ZTV3C24[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+Class_Descriptor cd_C24 = { "C24", // class name
+ bases_C24, 2,
+ &(vtc_C24[0]), // expected_vtbl_contents
+ &(vtt_C24[0]), // expected_vtt_contents
+ ABISELECT(24,16), // object size
+ NSPAIRA(_ZTI3C24),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C24),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C24),1, //virtual table table var
+ 0, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C25 : A1 , virtual B0 {
+ int fc;
+ virtual void foo(); // _ZN3C253fooEv
+ ~C25(); // tgen
+ C25(); // tgen
+};
+//SIG(-1 C25) C1{ BC2{ v1 Fi} VBC3{ Fi} v1 Fi}
+
+
+void C25 ::foo(){vfunc_called(this, "_ZN3C253fooEv");}
+C25 ::~C25(){ note_dtor("C25", this);} // tgen
+C25 ::C25(){ note_ctor("C25", this);} // tgen
+
+static void Test_C25()
+{
+ extern Class_Descriptor cd_C25;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(4,5)];
+ init_test(&cd_C25, buf);
+ C25 *dp, &lv = *(dp=new (buf) C25());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(24,16), "sizeof(C25)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C25)");
+ check_base_class_offset(lv, (A1*), 0, "C25");
+ check_base_class_offset(lv, (B0*), ABISELECT(16,12), "C25");
+ check_field_offset(lv, fc, ABISELECT(12,8), "C25.fc");
+ test_class_info(&lv, &cd_C25);
+ dp->~C25();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC25(Test_C25, "C25", ABISELECT(24,16));
+
+#else // __cplusplus
+
+extern void _ZN3C25C1Ev();
+extern void _ZN3C25D1Ev();
+Name_Map name_map_C25[] = {
+ NSPAIR(_ZN3C25C1Ev),
+ NSPAIR(_ZN3C25D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+static Base_Class bases_C25[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_B0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI3C25[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_C25[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV3C25[];
+static VTT_ENTRY vtt_C25[] = {
+ {&(_ZTV3C25[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+Class_Descriptor cd_C25 = { "C25", // class name
+ bases_C25, 2,
+ &(vtc_C25[0]), // expected_vtbl_contents
+ &(vtt_C25[0]), // expected_vtt_contents
+ ABISELECT(24,16), // object size
+ NSPAIRA(_ZTI3C25),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C25),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C25),1, //virtual table table var
+ 1, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C26 : virtual A0 , virtual B0 {
+ int fc;
+ virtual void foo(); // _ZN3C263fooEv
+ ~C26(); // tgen
+ C26(); // tgen
+};
+//SIG(-1 C26) C1{ VBC2{ Fi} VBC3{ Fi} v1 Fi}
+
+
+void C26 ::foo(){vfunc_called(this, "_ZN3C263fooEv");}
+C26 ::~C26(){ note_dtor("C26", this);} // tgen
+C26 ::C26(){ note_ctor("C26", this);} // tgen
+
+static void Test_C26()
+{
+ extern Class_Descriptor cd_C26;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(4,5)];
+ init_test(&cd_C26, buf);
+ C26 *dp, &lv = *(dp=new (buf) C26());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(24,16), "sizeof(C26)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C26)");
+ check_base_class_offset(lv, (A0*), ABISELECT(12,8), "C26");
+ check_base_class_offset(lv, (B0*), ABISELECT(16,12), "C26");
+ check_field_offset(lv, fc, ABISELECT(8,4), "C26.fc");
+ test_class_info(&lv, &cd_C26);
+ dp->~C26();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC26(Test_C26, "C26", ABISELECT(24,16));
+
+#else // __cplusplus
+
+extern void _ZN3C26C1Ev();
+extern void _ZN3C26D1Ev();
+Name_Map name_map_C26[] = {
+ NSPAIR(_ZN3C26C1Ev),
+ NSPAIR(_ZN3C26D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+static Base_Class bases_C26[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_B0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI3C26[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_C26[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV3C26[];
+static VTT_ENTRY vtt_C26[] = {
+ {&(_ZTV3C26[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+Class_Descriptor cd_C26 = { "C26", // class name
+ bases_C26, 2,
+ &(vtc_C26[0]), // expected_vtbl_contents
+ &(vtt_C26[0]), // expected_vtt_contents
+ ABISELECT(24,16), // object size
+ NSPAIRA(_ZTI3C26),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C26),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C26),1, //virtual table table var
+ 0, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C27 : virtual A1 , virtual B0 {
+ int fc;
+ virtual void foo(); // _ZN3C273fooEv
+ ~C27(); // tgen
+ C27(); // tgen
+};
+//SIG(-1 C27) C1{ VBC2{ v1 Fi} VBC3{ Fi} v1 Fi}
+
+
+void C27 ::foo(){vfunc_called(this, "_ZN3C273fooEv");}
+C27 ::~C27(){ note_dtor("C27", this);} // tgen
+C27 ::C27(){ note_ctor("C27", this);} // tgen
+
+static void Test_C27()
+{
+ extern Class_Descriptor cd_C27;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,6)];
+ init_test(&cd_C27, buf);
+ C27 *dp, &lv = *(dp=new (buf) C27());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,20), "sizeof(C27)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C27)");
+ check_base_class_offset(lv, (A1*), ABISELECT(16,8), "C27");
+ check_base_class_offset(lv, (B0*), ABISELECT(28,16), "C27");
+ check_field_offset(lv, fc, ABISELECT(8,4), "C27.fc");
+ test_class_info(&lv, &cd_C27);
+ dp->~C27();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC27(Test_C27, "C27", ABISELECT(32,20));
+
+#else // __cplusplus
+
+extern void _ZN3C27C1Ev();
+extern void _ZN3C27D1Ev();
+Name_Map name_map_C27[] = {
+ NSPAIR(_ZN3C27C1Ev),
+ NSPAIR(_ZN3C27D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+static Base_Class bases_C27[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_B0, ABISELECT(28,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI3C27[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_C27[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV3C27[];
+static VTT_ENTRY vtt_C27[] = {
+ {&(_ZTV3C27[4]), 4,9},
+ {&(_ZTV3C27[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+static VTBL_ENTRY alt_thunk_names3[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_C27 = { "C27", // class name
+ bases_C27, 2,
+ &(vtc_C27[0]), // expected_vtbl_contents
+ &(vtt_C27[0]), // expected_vtt_contents
+ ABISELECT(32,20), // object size
+ NSPAIRA(_ZTI3C27),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C27),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C27),2, //virtual table table var
+ 1, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names3,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C28 : A0 , virtual B1 {
+ int fc;
+ virtual void foo(); // _ZN3C283fooEv
+ ~C28(); // tgen
+ C28(); // tgen
+};
+//SIG(-1 C28) C1{ BC2{ Fi} VBC3{ v1 Fi} v1 Fi}
+
+
+void C28 ::foo(){vfunc_called(this, "_ZN3C283fooEv");}
+C28 ::~C28(){ note_dtor("C28", this);} // tgen
+C28 ::C28(){ note_ctor("C28", this);} // tgen
+
+static void Test_C28()
+{
+ extern Class_Descriptor cd_C28;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,6)];
+ init_test(&cd_C28, buf);
+ C28 *dp, &lv = *(dp=new (buf) C28());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,20), "sizeof(C28)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C28)");
+ check_base_class_offset(lv, (A0*), ABISELECT(8,4), "C28");
+ check_base_class_offset(lv, (B1*), ABISELECT(16,12), "C28");
+ check_field_offset(lv, fc, ABISELECT(12,8), "C28.fc");
+ test_class_info(&lv, &cd_C28);
+ dp->~C28();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC28(Test_C28, "C28", ABISELECT(32,20));
+
+#else // __cplusplus
+
+extern void _ZN3C28C1Ev();
+extern void _ZN3C28D1Ev();
+Name_Map name_map_C28[] = {
+ NSPAIR(_ZN3C28C1Ev),
+ NSPAIR(_ZN3C28D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+static Base_Class bases_C28[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_B1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI3C28[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_C28[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV3C28[];
+static VTT_ENTRY vtt_C28[] = {
+ {&(_ZTV3C28[3]), 3,8},
+ {&(_ZTV3C28[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+static VTBL_ENTRY alt_thunk_names4[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_C28 = { "C28", // class name
+ bases_C28, 2,
+ &(vtc_C28[0]), // expected_vtbl_contents
+ &(vtt_C28[0]), // expected_vtt_contents
+ ABISELECT(32,20), // object size
+ NSPAIRA(_ZTI3C28),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C28),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C28),2, //virtual table table var
+ 1, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names4,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C29 : A1 , virtual B1 {
+ int fc;
+ virtual void foo(); // _ZN3C293fooEv
+ ~C29(); // tgen
+ C29(); // tgen
+};
+//SIG(-1 C29) C1{ BC2{ v1 Fi} VBC3{ v1 Fi} v1 Fi}
+
+
+void C29 ::foo(){vfunc_called(this, "_ZN3C293fooEv");}
+C29 ::~C29(){ note_dtor("C29", this);} // tgen
+C29 ::C29(){ note_ctor("C29", this);} // tgen
+
+static void Test_C29()
+{
+ extern Class_Descriptor cd_C29;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,6)];
+ init_test(&cd_C29, buf);
+ C29 *dp, &lv = *(dp=new (buf) C29());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,20), "sizeof(C29)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C29)");
+ check_base_class_offset(lv, (A1*), 0, "C29");
+ check_base_class_offset(lv, (B1*), ABISELECT(16,12), "C29");
+ check_field_offset(lv, fc, ABISELECT(12,8), "C29.fc");
+ test_class_info(&lv, &cd_C29);
+ dp->~C29();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC29(Test_C29, "C29", ABISELECT(32,20));
+
+#else // __cplusplus
+
+extern void _ZN3C29C1Ev();
+extern void _ZN3C29D1Ev();
+Name_Map name_map_C29[] = {
+ NSPAIR(_ZN3C29C1Ev),
+ NSPAIR(_ZN3C29D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+static Base_Class bases_C29[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_B1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI3C29[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_C29[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV3C29[];
+static VTT_ENTRY vtt_C29[] = {
+ {&(_ZTV3C29[3]), 3,8},
+ {&(_ZTV3C29[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+static VTBL_ENTRY alt_thunk_names5[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_C29 = { "C29", // class name
+ bases_C29, 2,
+ &(vtc_C29[0]), // expected_vtbl_contents
+ &(vtt_C29[0]), // expected_vtt_contents
+ ABISELECT(32,20), // object size
+ NSPAIRA(_ZTI3C29),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C29),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C29),2, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names5,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C30 : virtual A0 , virtual B1 {
+ int fc;
+ virtual void foo(); // _ZN3C303fooEv
+ ~C30(); // tgen
+ C30(); // tgen
+};
+//SIG(-1 C30) C1{ VBC2{ Fi} VBC3{ v1 Fi} v1 Fi}
+
+
+void C30 ::foo(){vfunc_called(this, "_ZN3C303fooEv");}
+C30 ::~C30(){ note_dtor("C30", this);} // tgen
+C30 ::C30(){ note_ctor("C30", this);} // tgen
+
+static void Test_C30()
+{
+ extern Class_Descriptor cd_C30;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,6)];
+ init_test(&cd_C30, buf);
+ C30 *dp, &lv = *(dp=new (buf) C30());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,20), "sizeof(C30)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C30)");
+ check_base_class_offset(lv, (A0*), ABISELECT(12,8), "C30");
+ check_base_class_offset(lv, (B1*), ABISELECT(16,12), "C30");
+ check_field_offset(lv, fc, ABISELECT(8,4), "C30.fc");
+ test_class_info(&lv, &cd_C30);
+ dp->~C30();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC30(Test_C30, "C30", ABISELECT(32,20));
+
+#else // __cplusplus
+
+extern void _ZN3C30C1Ev();
+extern void _ZN3C30D1Ev();
+Name_Map name_map_C30[] = {
+ NSPAIR(_ZN3C30C1Ev),
+ NSPAIR(_ZN3C30D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+static Base_Class bases_C30[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_B1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI3C30[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_C30[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV3C30[];
+static VTT_ENTRY vtt_C30[] = {
+ {&(_ZTV3C30[4]), 4,9},
+ {&(_ZTV3C30[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+static VTBL_ENTRY alt_thunk_names6[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_C30 = { "C30", // class name
+ bases_C30, 2,
+ &(vtc_C30[0]), // expected_vtbl_contents
+ &(vtt_C30[0]), // expected_vtt_contents
+ ABISELECT(32,20), // object size
+ NSPAIRA(_ZTI3C30),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C30),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C30),2, //virtual table table var
+ 1, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names6,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct C31 : virtual A1 , virtual B1 {
+ int fc;
+ virtual void foo(); // _ZN3C313fooEv
+ ~C31(); // tgen
+ C31(); // tgen
+};
+//SIG(-1 C31) C1{ VBC2{ v1 Fi} VBC3{ v1 Fi} v1 Fi}
+
+
+void C31 ::foo(){vfunc_called(this, "_ZN3C313fooEv");}
+C31 ::~C31(){ note_dtor("C31", this);} // tgen
+C31 ::C31(){ note_ctor("C31", this);} // tgen
+
+static void Test_C31()
+{
+ extern Class_Descriptor cd_C31;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[7];
+ init_test(&cd_C31, buf);
+ C31 *dp, &lv = *(dp=new (buf) C31());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,24), "sizeof(C31)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(C31)");
+ check_base_class_offset(lv, (A1*), ABISELECT(16,8), "C31");
+ check_base_class_offset(lv, (B1*), ABISELECT(32,16), "C31");
+ check_field_offset(lv, fc, ABISELECT(8,4), "C31.fc");
+ test_class_info(&lv, &cd_C31);
+ dp->~C31();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vC31(Test_C31, "C31", ABISELECT(48,24));
+
+#else // __cplusplus
+
+extern void _ZN3C31C1Ev();
+extern void _ZN3C31D1Ev();
+Name_Map name_map_C31[] = {
+ NSPAIR(_ZN3C31C1Ev),
+ NSPAIR(_ZN3C31D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+static Base_Class bases_C31[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_B1, ABISELECT(32,16), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI3C31[];
+extern void _ZN3C313fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_C31[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV3C31[];
+static VTT_ENTRY vtt_C31[] = {
+ {&(_ZTV3C31[4]), 4,13},
+ {&(_ZTV3C31[8]), 8,13},
+ {&(_ZTV3C31[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+static VTBL_ENTRY alt_thunk_names7[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_C31 = { "C31", // class name
+ bases_C31, 2,
+ &(vtc_C31[0]), // expected_vtbl_contents
+ &(vtt_C31[0]), // expected_vtt_contents
+ ABISELECT(48,24), // object size
+ NSPAIRA(_ZTI3C31),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV3C31),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT3C31),3, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names7,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E0x8 : C0 , D1 {
+ int fd;
+ virtual void foo(); // _ZN4E0x83fooEv
+ ~E0x8(); // tgen
+ E0x8(); // tgen
+};
+//SIG(-1 E0x8) C1{ BC2{ BC3{ Fi} BC4{ Fi} Fi} BC5{ v1 Fi} v1 Fi}
+
+
+void E0x8 ::foo(){vfunc_called(this, "_ZN4E0x83fooEv");}
+E0x8 ::~E0x8(){ note_dtor("E0x8", this);} // tgen
+E0x8 ::E0x8(){ note_ctor("E0x8", this);} // tgen
+
+static void Test_E0x8()
+{
+ extern Class_Descriptor cd_E0x8;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E0x8, buf);
+ E0x8 *dp, &lv = *(dp=new (buf) E0x8());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E0x8)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E0x8)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(12,8), "E0x8");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(16,12), "E0x8");
+ check_base_class_offset(lv, (C0*), ABISELECT(12,8), "E0x8");
+ check_base_class_offset(lv, (D1*), 0, "E0x8");
+ check_field_offset(lv, fd, ABISELECT(24,20), "E0x8.fd");
+ test_class_info(&lv, &cd_E0x8);
+ dp->~E0x8();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE0x8(Test_E0x8, "E0x8", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E0x8C1Ev();
+extern void _ZN4E0x8D1Ev();
+Name_Map name_map_E0x8[] = {
+ NSPAIR(_ZN4E0x8C1Ev),
+ NSPAIR(_ZN4E0x8D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C0;
+extern VTBL_ENTRY _ZTI2C0[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E0x8[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E0x8[];
+extern void _ZN4E0x83fooEv();
+static VTBL_ENTRY vtc_E0x8[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x8[0]),
+ (VTBL_ENTRY)&_ZN4E0x83fooEv,
+};
+extern VTBL_ENTRY _ZTI4E0x8[];
+extern VTBL_ENTRY _ZTV4E0x8[];
+Class_Descriptor cd_E0x8 = { "E0x8", // class name
+ bases_E0x8, 4,
+ &(vtc_E0x8[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E0x8),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E0x8),3, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 1, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G0x8y0 : E0x8 , F1 {
+ int ff;
+ ~G0x8y0(); // tgen
+ G0x8y0(); // tgen
+};
+//SIG(1 G0x8y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G0x8y0 ::~G0x8y0(){ note_dtor("G0x8y0", this);} // tgen
+G0x8y0 ::G0x8y0(){ note_ctor("G0x8y0", this);} // tgen
+
+static void Test_G0x8y0()
+{
+ extern Class_Descriptor cd_G0x8y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x8y0, buf);
+ G0x8y0 *dp, &lv = *(dp=new (buf) G0x8y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x8y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x8y0)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x8*), ABISELECT(12,8), "G0x8y0");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x8*), ABISELECT(16,12), "G0x8y0");
+ check_base_class_offset(lv, (C0*)(E0x8*), ABISELECT(12,8), "G0x8y0");
+ check_base_class_offset(lv, (D1*)(E0x8*), 0, "G0x8y0");
+ check_base_class_offset(lv, (E0x8*), 0, "G0x8y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G0x8y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G0x8y0.ff");
+ test_class_info(&lv, &cd_G0x8y0);
+ dp->~G0x8y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x8y0(Test_G0x8y0, "G0x8y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x8y0C1Ev();
+extern void _ZN6G0x8y0D1Ev();
+Name_Map name_map_G0x8y0[] = {
+ NSPAIR(_ZN6G0x8y0C1Ev),
+ NSPAIR(_ZN6G0x8y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C0;
+extern VTBL_ENTRY _ZTI2C0[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E0x8;
+extern VTBL_ENTRY _ZTI4E0x8[];
+extern VTBL_ENTRY _ZTV4E0x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x8y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E0x8, 0, //bcp->offset
+ 0, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(32,24), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x8y0[];
+extern void _ZN4E0x83fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x8y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x8y0[0]),
+ (VTBL_ENTRY)&_ZN4E0x83fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G0x8y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G0x8y0[];
+extern VTBL_ENTRY _ZTV6G0x8y0[];
+Class_Descriptor cd_G0x8y0 = { "G0x8y0", // class name
+ bases_G0x8y0, 6,
+ &(vtc_G0x8y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x8y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x8y0),6, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 3, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G0x8y1 : virtual E0x8 , F1 {
+ int ff;
+ ~G0x8y1(); // tgen
+ G0x8y1(); // tgen
+};
+//SIG(1 G0x8y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G0x8y1 ::~G0x8y1(){ note_dtor("G0x8y1", this);} // tgen
+G0x8y1 ::G0x8y1(){ note_ctor("G0x8y1", this);} // tgen
+
+static void Test_G0x8y1()
+{
+ extern Class_Descriptor cd_G0x8y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x8y1, buf);
+ G0x8y1 *dp, &lv = *(dp=new (buf) G0x8y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x8y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x8y1)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x8*), ABISELECT(28,20), "G0x8y1");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x8*), ABISELECT(32,24), "G0x8y1");
+ check_base_class_offset(lv, (C0*)(E0x8*), ABISELECT(28,20), "G0x8y1");
+ check_base_class_offset(lv, (D1*)(E0x8*), ABISELECT(16,12), "G0x8y1");
+ check_base_class_offset(lv, (E0x8*), ABISELECT(16,12), "G0x8y1");
+ check_base_class_offset(lv, (F1*), 0, "G0x8y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x8y1.ff");
+ test_class_info(&lv, &cd_G0x8y1);
+ dp->~G0x8y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x8y1(Test_G0x8y1, "G0x8y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x8y1C1Ev();
+extern void _ZN6G0x8y1D1Ev();
+Name_Map name_map_G0x8y1[] = {
+ NSPAIR(_ZN6G0x8y1C1Ev),
+ NSPAIR(_ZN6G0x8y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C0;
+extern VTBL_ENTRY _ZTI2C0[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E0x8;
+extern VTBL_ENTRY _ZTI4E0x8[];
+extern VTBL_ENTRY _ZTV4E0x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x8y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(28,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(32,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C0, ABISELECT(28,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E0x8, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x8y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN4E0x83fooEv();
+static VTBL_ENTRY vtc_G0x8y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x8y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x8y1[0]),
+ (VTBL_ENTRY)&_ZN4E0x83fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x8y1[];
+static VTT_ENTRY vtt_G0x8y1[] = {
+ {&(_ZTV6G0x8y1[3]), 3,8},
+ {&(_ZTV6G0x8y1[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G0x8y1[];
+extern VTBL_ENTRY _ZTV6G0x8y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x8y1[];
+Class_Descriptor cd_G0x8y1 = { "G0x8y1", // class name
+ bases_G0x8y1, 6,
+ &(vtc_G0x8y1[0]), // expected_vtbl_contents
+ &(vtt_G0x8y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x8y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x8y1),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x8y1),2, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G0x8y2 : E0x8 , virtual F1 {
+ int ff;
+ ~G0x8y2(); // tgen
+ G0x8y2(); // tgen
+};
+//SIG(1 G0x8y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G0x8y2 ::~G0x8y2(){ note_dtor("G0x8y2", this);} // tgen
+G0x8y2 ::G0x8y2(){ note_ctor("G0x8y2", this);} // tgen
+
+static void Test_G0x8y2()
+{
+ extern Class_Descriptor cd_G0x8y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x8y2, buf);
+ G0x8y2 *dp, &lv = *(dp=new (buf) G0x8y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x8y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x8y2)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x8*), ABISELECT(12,8), "G0x8y2");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x8*), ABISELECT(16,12), "G0x8y2");
+ check_base_class_offset(lv, (C0*)(E0x8*), ABISELECT(12,8), "G0x8y2");
+ check_base_class_offset(lv, (D1*)(E0x8*), 0, "G0x8y2");
+ check_base_class_offset(lv, (E0x8*), 0, "G0x8y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G0x8y2");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G0x8y2.ff");
+ test_class_info(&lv, &cd_G0x8y2);
+ dp->~G0x8y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x8y2(Test_G0x8y2, "G0x8y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x8y2C1Ev();
+extern void _ZN6G0x8y2D1Ev();
+Name_Map name_map_G0x8y2[] = {
+ NSPAIR(_ZN6G0x8y2C1Ev),
+ NSPAIR(_ZN6G0x8y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C0;
+extern VTBL_ENTRY _ZTI2C0[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E0x8;
+extern VTBL_ENTRY _ZTI4E0x8[];
+extern VTBL_ENTRY _ZTV4E0x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x8y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E0x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(32,28), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x8y2[];
+extern void _ZN4E0x83fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x8y2[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x8y2[0]),
+ (VTBL_ENTRY)&_ZN4E0x83fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G0x8y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x8y2[];
+static VTT_ENTRY vtt_G0x8y2[] = {
+ {&(_ZTV6G0x8y2[3]), 3,8},
+ {&(_ZTV6G0x8y2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G0x8y2[];
+extern VTBL_ENTRY _ZTV6G0x8y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x8y2[];
+Class_Descriptor cd_G0x8y2 = { "G0x8y2", // class name
+ bases_G0x8y2, 6,
+ &(vtc_G0x8y2[0]), // expected_vtbl_contents
+ &(vtt_G0x8y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x8y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x8y2),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x8y2),2, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G0x8y3 : virtual E0x8 , virtual F1 {
+ int ff;
+ ~G0x8y3(); // tgen
+ G0x8y3(); // tgen
+};
+//SIG(1 G0x8y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G0x8y3 ::~G0x8y3(){ note_dtor("G0x8y3", this);} // tgen
+G0x8y3 ::G0x8y3(){ note_ctor("G0x8y3", this);} // tgen
+
+static void Test_G0x8y3()
+{
+ extern Class_Descriptor cd_G0x8y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G0x8y3, buf);
+ G0x8y3 *dp, &lv = *(dp=new (buf) G0x8y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G0x8y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x8y3)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x8*), ABISELECT(28,16), "G0x8y3");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x8*), ABISELECT(32,20), "G0x8y3");
+ check_base_class_offset(lv, (C0*)(E0x8*), ABISELECT(28,16), "G0x8y3");
+ check_base_class_offset(lv, (D1*)(E0x8*), ABISELECT(16,8), "G0x8y3");
+ check_base_class_offset(lv, (E0x8*), ABISELECT(16,8), "G0x8y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G0x8y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x8y3.ff");
+ test_class_info(&lv, &cd_G0x8y3);
+ dp->~G0x8y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x8y3(Test_G0x8y3, "G0x8y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G0x8y3C1Ev();
+extern void _ZN6G0x8y3D1Ev();
+Name_Map name_map_G0x8y3[] = {
+ NSPAIR(_ZN6G0x8y3C1Ev),
+ NSPAIR(_ZN6G0x8y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C0;
+extern VTBL_ENTRY _ZTI2C0[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E0x8;
+extern VTBL_ENTRY _ZTI4E0x8[];
+extern VTBL_ENTRY _ZTV4E0x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x8y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(28,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(32,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C0, ABISELECT(28,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E0x8, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(48,32), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x8y3[];
+extern void _ZN4E0x83fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x8y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x8y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x8y3[0]),
+ (VTBL_ENTRY)&_ZN4E0x83fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G0x8y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x8y3[];
+static VTT_ENTRY vtt_G0x8y3[] = {
+ {&(_ZTV6G0x8y3[4]), 4,12},
+ {&(_ZTV6G0x8y3[7]), 7,12},
+ {&(_ZTV6G0x8y3[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G0x8y3[];
+extern VTBL_ENTRY _ZTV6G0x8y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x8y3[];
+Class_Descriptor cd_G0x8y3 = { "G0x8y3", // class name
+ bases_G0x8y3, 6,
+ &(vtc_G0x8y3[0]), // expected_vtbl_contents
+ &(vtt_G0x8y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G0x8y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x8y3),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x8y3),3, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G0x8y4 : E0x8 , F0 {
+ int ff;
+ ~G0x8y4(); // tgen
+ G0x8y4(); // tgen
+};
+//SIG(1 G0x8y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G0x8y4 ::~G0x8y4(){ note_dtor("G0x8y4", this);} // tgen
+G0x8y4 ::G0x8y4(){ note_ctor("G0x8y4", this);} // tgen
+
+static void Test_G0x8y4()
+{
+ extern Class_Descriptor cd_G0x8y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G0x8y4, buf);
+ G0x8y4 *dp, &lv = *(dp=new (buf) G0x8y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G0x8y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x8y4)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x8*), ABISELECT(12,8), "G0x8y4");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x8*), ABISELECT(16,12), "G0x8y4");
+ check_base_class_offset(lv, (C0*)(E0x8*), ABISELECT(12,8), "G0x8y4");
+ check_base_class_offset(lv, (D1*)(E0x8*), 0, "G0x8y4");
+ check_base_class_offset(lv, (E0x8*), 0, "G0x8y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(28,24), "G0x8y4");
+ check_field_offset(lv, ff, ABISELECT(32,28), "G0x8y4.ff");
+ test_class_info(&lv, &cd_G0x8y4);
+ dp->~G0x8y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x8y4(Test_G0x8y4, "G0x8y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G0x8y4C1Ev();
+extern void _ZN6G0x8y4D1Ev();
+Name_Map name_map_G0x8y4[] = {
+ NSPAIR(_ZN6G0x8y4C1Ev),
+ NSPAIR(_ZN6G0x8y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C0;
+extern VTBL_ENTRY _ZTI2C0[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E0x8;
+extern VTBL_ENTRY _ZTI4E0x8[];
+extern VTBL_ENTRY _ZTV4E0x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x8y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E0x8, 0, //bcp->offset
+ 0, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(28,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x8y4[];
+extern void _ZN4E0x83fooEv();
+static VTBL_ENTRY vtc_G0x8y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x8y4[0]),
+ (VTBL_ENTRY)&_ZN4E0x83fooEv,
+};
+extern VTBL_ENTRY _ZTI6G0x8y4[];
+extern VTBL_ENTRY _ZTV6G0x8y4[];
+Class_Descriptor cd_G0x8y4 = { "G0x8y4", // class name
+ bases_G0x8y4, 6,
+ &(vtc_G0x8y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G0x8y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x8y4),3, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 2, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G0x8y5 : virtual E0x8 , F0 {
+ int ff;
+ ~G0x8y5(); // tgen
+ G0x8y5(); // tgen
+};
+//SIG(1 G0x8y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G0x8y5 ::~G0x8y5(){ note_dtor("G0x8y5", this);} // tgen
+G0x8y5 ::G0x8y5(){ note_ctor("G0x8y5", this);} // tgen
+
+static void Test_G0x8y5()
+{
+ extern Class_Descriptor cd_G0x8y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x8y5, buf);
+ G0x8y5 *dp, &lv = *(dp=new (buf) G0x8y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x8y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x8y5)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x8*), ABISELECT(28,20), "G0x8y5");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x8*), ABISELECT(32,24), "G0x8y5");
+ check_base_class_offset(lv, (C0*)(E0x8*), ABISELECT(28,20), "G0x8y5");
+ check_base_class_offset(lv, (D1*)(E0x8*), ABISELECT(16,12), "G0x8y5");
+ check_base_class_offset(lv, (E0x8*), ABISELECT(16,12), "G0x8y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G0x8y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x8y5.ff");
+ test_class_info(&lv, &cd_G0x8y5);
+ dp->~G0x8y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x8y5(Test_G0x8y5, "G0x8y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x8y5C1Ev();
+extern void _ZN6G0x8y5D1Ev();
+Name_Map name_map_G0x8y5[] = {
+ NSPAIR(_ZN6G0x8y5C1Ev),
+ NSPAIR(_ZN6G0x8y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C0;
+extern VTBL_ENTRY _ZTI2C0[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E0x8;
+extern VTBL_ENTRY _ZTI4E0x8[];
+extern VTBL_ENTRY _ZTV4E0x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x8y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(28,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(32,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C0, ABISELECT(28,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E0x8, ABISELECT(16,12), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x8y5[];
+extern void _ZN4E0x83fooEv();
+static VTBL_ENTRY vtc_G0x8y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x8y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x8y5[0]),
+ (VTBL_ENTRY)&_ZN4E0x83fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x8y5[];
+static VTT_ENTRY vtt_G0x8y5[] = {
+ {&(_ZTV6G0x8y5[3]), 3,7},
+ {&(_ZTV6G0x8y5[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI6G0x8y5[];
+extern VTBL_ENTRY _ZTV6G0x8y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x8y5[];
+Class_Descriptor cd_G0x8y5 = { "G0x8y5", // class name
+ bases_G0x8y5, 6,
+ &(vtc_G0x8y5[0]), // expected_vtbl_contents
+ &(vtt_G0x8y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x8y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x8y5),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x8y5),2, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G0x8y6 : E0x8 , virtual F0 {
+ int ff;
+ ~G0x8y6(); // tgen
+ G0x8y6(); // tgen
+};
+//SIG(1 G0x8y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G0x8y6 ::~G0x8y6(){ note_dtor("G0x8y6", this);} // tgen
+G0x8y6 ::G0x8y6(){ note_ctor("G0x8y6", this);} // tgen
+
+static void Test_G0x8y6()
+{
+ extern Class_Descriptor cd_G0x8y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G0x8y6, buf);
+ G0x8y6 *dp, &lv = *(dp=new (buf) G0x8y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G0x8y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x8y6)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x8*), ABISELECT(12,8), "G0x8y6");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x8*), ABISELECT(16,12), "G0x8y6");
+ check_base_class_offset(lv, (C0*)(E0x8*), ABISELECT(12,8), "G0x8y6");
+ check_base_class_offset(lv, (D1*)(E0x8*), 0, "G0x8y6");
+ check_base_class_offset(lv, (E0x8*), 0, "G0x8y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G0x8y6");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G0x8y6.ff");
+ test_class_info(&lv, &cd_G0x8y6);
+ dp->~G0x8y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x8y6(Test_G0x8y6, "G0x8y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G0x8y6C1Ev();
+extern void _ZN6G0x8y6D1Ev();
+Name_Map name_map_G0x8y6[] = {
+ NSPAIR(_ZN6G0x8y6C1Ev),
+ NSPAIR(_ZN6G0x8y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C0;
+extern VTBL_ENTRY _ZTI2C0[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E0x8;
+extern VTBL_ENTRY _ZTI4E0x8[];
+extern VTBL_ENTRY _ZTV4E0x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x8y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E0x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(32,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x8y6[];
+extern void _ZN4E0x83fooEv();
+static VTBL_ENTRY vtc_G0x8y6[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x8y6[0]),
+ (VTBL_ENTRY)&_ZN4E0x83fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x8y6[];
+static VTT_ENTRY vtt_G0x8y6[] = {
+ {&(_ZTV6G0x8y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x8y6[];
+extern VTBL_ENTRY _ZTV6G0x8y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x8y6[];
+Class_Descriptor cd_G0x8y6 = { "G0x8y6", // class name
+ bases_G0x8y6, 6,
+ &(vtc_G0x8y6[0]), // expected_vtbl_contents
+ &(vtt_G0x8y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G0x8y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x8y6),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x8y6),1, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G0x8y7 : virtual E0x8 , virtual F0 {
+ int ff;
+ ~G0x8y7(); // tgen
+ G0x8y7(); // tgen
+};
+//SIG(1 G0x8y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G0x8y7 ::~G0x8y7(){ note_dtor("G0x8y7", this);} // tgen
+G0x8y7 ::G0x8y7(){ note_ctor("G0x8y7", this);} // tgen
+
+static void Test_G0x8y7()
+{
+ extern Class_Descriptor cd_G0x8y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x8y7, buf);
+ G0x8y7 *dp, &lv = *(dp=new (buf) G0x8y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x8y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x8y7)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x8*), ABISELECT(28,16), "G0x8y7");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x8*), ABISELECT(32,20), "G0x8y7");
+ check_base_class_offset(lv, (C0*)(E0x8*), ABISELECT(28,16), "G0x8y7");
+ check_base_class_offset(lv, (D1*)(E0x8*), ABISELECT(16,8), "G0x8y7");
+ check_base_class_offset(lv, (E0x8*), ABISELECT(16,8), "G0x8y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G0x8y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x8y7.ff");
+ test_class_info(&lv, &cd_G0x8y7);
+ dp->~G0x8y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x8y7(Test_G0x8y7, "G0x8y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x8y7C1Ev();
+extern void _ZN6G0x8y7D1Ev();
+Name_Map name_map_G0x8y7[] = {
+ NSPAIR(_ZN6G0x8y7C1Ev),
+ NSPAIR(_ZN6G0x8y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C0;
+extern VTBL_ENTRY _ZTI2C0[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E0x8;
+extern VTBL_ENTRY _ZTI4E0x8[];
+extern VTBL_ENTRY _ZTV4E0x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x8y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(28,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(32,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C0, ABISELECT(28,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E0x8, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(44,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x8y7[];
+extern void _ZN4E0x83fooEv();
+static VTBL_ENTRY vtc_G0x8y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x8y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x8y7[0]),
+ (VTBL_ENTRY)&_ZN4E0x83fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x8y7[];
+static VTT_ENTRY vtt_G0x8y7[] = {
+ {&(_ZTV6G0x8y7[4]), 4,8},
+ {&(_ZTV6G0x8y7[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G0x8y7[];
+extern VTBL_ENTRY _ZTV6G0x8y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x8y7[];
+Class_Descriptor cd_G0x8y7 = { "G0x8y7", // class name
+ bases_G0x8y7, 6,
+ &(vtc_G0x8y7[0]), // expected_vtbl_contents
+ &(vtt_G0x8y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x8y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x8y7),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x8y7),2, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E1x8 : C1 , D1 {
+ int fd;
+ virtual void foo(); // _ZN4E1x83fooEv
+ ~E1x8(); // tgen
+ E1x8(); // tgen
+};
+//SIG(-1 E1x8) C1{ BC2{ BC3{ v1 Fi} BC4{ Fi} Fi} BC5{ v1 Fi} v1 Fi}
+
+
+void E1x8 ::foo(){vfunc_called(this, "_ZN4E1x83fooEv");}
+E1x8 ::~E1x8(){ note_dtor("E1x8", this);} // tgen
+E1x8 ::E1x8(){ note_ctor("E1x8", this);} // tgen
+
+static void Test_E1x8()
+{
+ extern Class_Descriptor cd_E1x8;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E1x8, buf);
+ E1x8 *dp, &lv = *(dp=new (buf) E1x8());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E1x8)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E1x8)");
+ check_base_class_offset(lv, (A1*)(C1*), 0, "E1x8");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(12,8), "E1x8");
+ check_base_class_offset(lv, (C1*), 0, "E1x8");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,16), "E1x8");
+ check_field_offset(lv, fd, ABISELECT(36,24), "E1x8.fd");
+ test_class_info(&lv, &cd_E1x8);
+ dp->~E1x8();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE1x8(Test_E1x8, "E1x8", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E1x8C1Ev();
+extern void _ZN4E1x8D1Ev();
+Name_Map name_map_E1x8[] = {
+ NSPAIR(_ZN4E1x8C1Ev),
+ NSPAIR(_ZN4E1x8D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C1;
+extern VTBL_ENTRY _ZTI2C1[];
+extern VTBL_ENTRY _ZTV2C1[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E1x8[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(24,16), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E1x8[];
+extern void _ZN4E1x83fooEv();
+extern void ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv)();
+static VTBL_ENTRY vtc_E1x8[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x8[0]),
+ (VTBL_ENTRY)&_ZN4E1x83fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E1x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv),
+};
+extern VTBL_ENTRY _ZTI4E1x8[];
+extern VTBL_ENTRY _ZTV4E1x8[];
+Class_Descriptor cd_E1x8 = { "E1x8", // class name
+ bases_E1x8, 4,
+ &(vtc_E1x8[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E1x8),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E1x8),6, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 3, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G1x8y0 : E1x8 , F1 {
+ int ff;
+ ~G1x8y0(); // tgen
+ G1x8y0(); // tgen
+};
+//SIG(1 G1x8y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G1x8y0 ::~G1x8y0(){ note_dtor("G1x8y0", this);} // tgen
+G1x8y0 ::G1x8y0(){ note_ctor("G1x8y0", this);} // tgen
+
+static void Test_G1x8y0()
+{
+ extern Class_Descriptor cd_G1x8y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x8y0, buf);
+ G1x8y0 *dp, &lv = *(dp=new (buf) G1x8y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x8y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x8y0)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x8*), 0, "G1x8y0");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x8*), ABISELECT(12,8), "G1x8y0");
+ check_base_class_offset(lv, (C1*)(E1x8*), 0, "G1x8y0");
+ check_base_class_offset(lv, (D1*)(E1x8*), ABISELECT(24,16), "G1x8y0");
+ check_base_class_offset(lv, (E1x8*), 0, "G1x8y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,28), "G1x8y0");
+ check_field_offset(lv, ff, ABISELECT(52,36), "G1x8y0.ff");
+ test_class_info(&lv, &cd_G1x8y0);
+ dp->~G1x8y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x8y0(Test_G1x8y0, "G1x8y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x8y0C1Ev();
+extern void _ZN6G1x8y0D1Ev();
+Name_Map name_map_G1x8y0[] = {
+ NSPAIR(_ZN6G1x8y0C1Ev),
+ NSPAIR(_ZN6G1x8y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C1;
+extern VTBL_ENTRY _ZTI2C1[];
+extern VTBL_ENTRY _ZTV2C1[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E1x8;
+extern VTBL_ENTRY _ZTI4E1x8[];
+extern VTBL_ENTRY _ZTV4E1x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x8y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(24,16), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x8, 0, //bcp->offset
+ 0, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(40,28), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x8y0[];
+extern void _ZN4E1x83fooEv();
+extern void ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x8y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x8y0[0]),
+ (VTBL_ENTRY)&_ZN4E1x83fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G1x8y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G1x8y0[];
+extern VTBL_ENTRY _ZTV6G1x8y0[];
+Class_Descriptor cd_G1x8y0 = { "G1x8y0", // class name
+ bases_G1x8y0, 6,
+ &(vtc_G1x8y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x8y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x8y0),9, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 5, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G1x8y1 : virtual E1x8 , F1 {
+ int ff;
+ ~G1x8y1(); // tgen
+ G1x8y1(); // tgen
+};
+//SIG(1 G1x8y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G1x8y1 ::~G1x8y1(){ note_dtor("G1x8y1", this);} // tgen
+G1x8y1 ::G1x8y1(){ note_ctor("G1x8y1", this);} // tgen
+
+static void Test_G1x8y1()
+{
+ extern Class_Descriptor cd_G1x8y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x8y1, buf);
+ G1x8y1 *dp, &lv = *(dp=new (buf) G1x8y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x8y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x8y1)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x8*), ABISELECT(16,12), "G1x8y1");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x8*), ABISELECT(28,20), "G1x8y1");
+ check_base_class_offset(lv, (C1*)(E1x8*), ABISELECT(16,12), "G1x8y1");
+ check_base_class_offset(lv, (D1*)(E1x8*), ABISELECT(40,28), "G1x8y1");
+ check_base_class_offset(lv, (E1x8*), ABISELECT(16,12), "G1x8y1");
+ check_base_class_offset(lv, (F1*), 0, "G1x8y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x8y1.ff");
+ test_class_info(&lv, &cd_G1x8y1);
+ dp->~G1x8y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x8y1(Test_G1x8y1, "G1x8y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x8y1C1Ev();
+extern void _ZN6G1x8y1D1Ev();
+Name_Map name_map_G1x8y1[] = {
+ NSPAIR(_ZN6G1x8y1C1Ev),
+ NSPAIR(_ZN6G1x8y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C1;
+extern VTBL_ENTRY _ZTI2C1[];
+extern VTBL_ENTRY _ZTV2C1[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E1x8;
+extern VTBL_ENTRY _ZTI4E1x8[];
+extern VTBL_ENTRY _ZTV4E1x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x8y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(28,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x8, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x8y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN4E1x83fooEv();
+extern void ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv)();
+static VTBL_ENTRY vtc_G1x8y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x8y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x8y1[0]),
+ (VTBL_ENTRY)&_ZN4E1x83fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G1x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G1x8y1[];
+static VTT_ENTRY vtt_G1x8y1[] = {
+ {&(_ZTV6G1x8y1[3]), 3,11},
+ {&(_ZTV6G1x8y1[7]), 7,11},
+ {&(_ZTV6G1x8y1[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G1x8y1[];
+extern VTBL_ENTRY _ZTV6G1x8y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x8y1[];
+Class_Descriptor cd_G1x8y1 = { "G1x8y1", // class name
+ bases_G1x8y1, 6,
+ &(vtc_G1x8y1[0]), // expected_vtbl_contents
+ &(vtt_G1x8y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x8y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x8y1),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x8y1),3, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G1x8y2 : E1x8 , virtual F1 {
+ int ff;
+ ~G1x8y2(); // tgen
+ G1x8y2(); // tgen
+};
+//SIG(1 G1x8y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G1x8y2 ::~G1x8y2(){ note_dtor("G1x8y2", this);} // tgen
+G1x8y2 ::G1x8y2(){ note_ctor("G1x8y2", this);} // tgen
+
+static void Test_G1x8y2()
+{
+ extern Class_Descriptor cd_G1x8y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G1x8y2, buf);
+ G1x8y2 *dp, &lv = *(dp=new (buf) G1x8y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G1x8y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x8y2)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x8*), 0, "G1x8y2");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x8*), ABISELECT(12,8), "G1x8y2");
+ check_base_class_offset(lv, (C1*)(E1x8*), 0, "G1x8y2");
+ check_base_class_offset(lv, (D1*)(E1x8*), ABISELECT(24,16), "G1x8y2");
+ check_base_class_offset(lv, (E1x8*), 0, "G1x8y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G1x8y2");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G1x8y2.ff");
+ test_class_info(&lv, &cd_G1x8y2);
+ dp->~G1x8y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x8y2(Test_G1x8y2, "G1x8y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x8y2C1Ev();
+extern void _ZN6G1x8y2D1Ev();
+Name_Map name_map_G1x8y2[] = {
+ NSPAIR(_ZN6G1x8y2C1Ev),
+ NSPAIR(_ZN6G1x8y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C1;
+extern VTBL_ENTRY _ZTI2C1[];
+extern VTBL_ENTRY _ZTV2C1[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E1x8;
+extern VTBL_ENTRY _ZTI4E1x8[];
+extern VTBL_ENTRY _ZTV4E1x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x8y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(24,16), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(48,32), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x8y2[];
+extern void _ZN4E1x83fooEv();
+extern void ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x8y2[] = {
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x8y2[0]),
+ (VTBL_ENTRY)&_ZN4E1x83fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G1x8y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x8y2[];
+static VTT_ENTRY vtt_G1x8y2[] = {
+ {&(_ZTV6G1x8y2[3]), 3,11},
+ {&(_ZTV6G1x8y2[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G1x8y2[];
+extern VTBL_ENTRY _ZTV6G1x8y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x8y2[];
+Class_Descriptor cd_G1x8y2 = { "G1x8y2", // class name
+ bases_G1x8y2, 6,
+ &(vtc_G1x8y2[0]), // expected_vtbl_contents
+ &(vtt_G1x8y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G1x8y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x8y2),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x8y2),2, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G1x8y3 : virtual E1x8 , virtual F1 {
+ int ff;
+ ~G1x8y3(); // tgen
+ G1x8y3(); // tgen
+};
+//SIG(1 G1x8y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G1x8y3 ::~G1x8y3(){ note_dtor("G1x8y3", this);} // tgen
+G1x8y3 ::G1x8y3(){ note_ctor("G1x8y3", this);} // tgen
+
+static void Test_G1x8y3()
+{
+ extern Class_Descriptor cd_G1x8y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G1x8y3, buf);
+ G1x8y3 *dp, &lv = *(dp=new (buf) G1x8y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G1x8y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x8y3)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x8*), ABISELECT(16,8), "G1x8y3");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x8*), ABISELECT(28,16), "G1x8y3");
+ check_base_class_offset(lv, (C1*)(E1x8*), ABISELECT(16,8), "G1x8y3");
+ check_base_class_offset(lv, (D1*)(E1x8*), ABISELECT(40,24), "G1x8y3");
+ check_base_class_offset(lv, (E1x8*), ABISELECT(16,8), "G1x8y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G1x8y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x8y3.ff");
+ test_class_info(&lv, &cd_G1x8y3);
+ dp->~G1x8y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x8y3(Test_G1x8y3, "G1x8y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G1x8y3C1Ev();
+extern void _ZN6G1x8y3D1Ev();
+Name_Map name_map_G1x8y3[] = {
+ NSPAIR(_ZN6G1x8y3C1Ev),
+ NSPAIR(_ZN6G1x8y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C1;
+extern VTBL_ENTRY _ZTI2C1[];
+extern VTBL_ENTRY _ZTV2C1[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E1x8;
+extern VTBL_ENTRY _ZTI4E1x8[];
+extern VTBL_ENTRY _ZTV4E1x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x8y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(28,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x8, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x8y3[];
+extern void _ZN4E1x83fooEv();
+extern void ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x8y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x8y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x8y3[0]),
+ (VTBL_ENTRY)&_ZN4E1x83fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G1x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G1x8y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x8y3[];
+static VTT_ENTRY vtt_G1x8y3[] = {
+ {&(_ZTV6G1x8y3[4]), 4,15},
+ {&(_ZTV6G1x8y3[7]), 7,15},
+ {&(_ZTV6G1x8y3[10]), 10,15},
+ {&(_ZTV6G1x8y3[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI6G1x8y3[];
+extern VTBL_ENTRY _ZTV6G1x8y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x8y3[];
+Class_Descriptor cd_G1x8y3 = { "G1x8y3", // class name
+ bases_G1x8y3, 6,
+ &(vtc_G1x8y3[0]), // expected_vtbl_contents
+ &(vtt_G1x8y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G1x8y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x8y3),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x8y3),4, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G1x8y4 : E1x8 , F0 {
+ int ff;
+ ~G1x8y4(); // tgen
+ G1x8y4(); // tgen
+};
+//SIG(1 G1x8y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G1x8y4 ::~G1x8y4(){ note_dtor("G1x8y4", this);} // tgen
+G1x8y4 ::G1x8y4(){ note_ctor("G1x8y4", this);} // tgen
+
+static void Test_G1x8y4()
+{
+ extern Class_Descriptor cd_G1x8y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x8y4, buf);
+ G1x8y4 *dp, &lv = *(dp=new (buf) G1x8y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x8y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x8y4)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x8*), 0, "G1x8y4");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x8*), ABISELECT(12,8), "G1x8y4");
+ check_base_class_offset(lv, (C1*)(E1x8*), 0, "G1x8y4");
+ check_base_class_offset(lv, (D1*)(E1x8*), ABISELECT(24,16), "G1x8y4");
+ check_base_class_offset(lv, (E1x8*), 0, "G1x8y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,28), "G1x8y4");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G1x8y4.ff");
+ test_class_info(&lv, &cd_G1x8y4);
+ dp->~G1x8y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x8y4(Test_G1x8y4, "G1x8y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x8y4C1Ev();
+extern void _ZN6G1x8y4D1Ev();
+Name_Map name_map_G1x8y4[] = {
+ NSPAIR(_ZN6G1x8y4C1Ev),
+ NSPAIR(_ZN6G1x8y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C1;
+extern VTBL_ENTRY _ZTI2C1[];
+extern VTBL_ENTRY _ZTV2C1[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E1x8;
+extern VTBL_ENTRY _ZTI4E1x8[];
+extern VTBL_ENTRY _ZTV4E1x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x8y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(24,16), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x8, 0, //bcp->offset
+ 0, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(40,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x8y4[];
+extern void _ZN4E1x83fooEv();
+extern void ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv)();
+static VTBL_ENTRY vtc_G1x8y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x8y4[0]),
+ (VTBL_ENTRY)&_ZN4E1x83fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv),
+};
+extern VTBL_ENTRY _ZTI6G1x8y4[];
+extern VTBL_ENTRY _ZTV6G1x8y4[];
+Class_Descriptor cd_G1x8y4 = { "G1x8y4", // class name
+ bases_G1x8y4, 6,
+ &(vtc_G1x8y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x8y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x8y4),6, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 4, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G1x8y5 : virtual E1x8 , F0 {
+ int ff;
+ ~G1x8y5(); // tgen
+ G1x8y5(); // tgen
+};
+//SIG(1 G1x8y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G1x8y5 ::~G1x8y5(){ note_dtor("G1x8y5", this);} // tgen
+G1x8y5 ::G1x8y5(){ note_ctor("G1x8y5", this);} // tgen
+
+static void Test_G1x8y5()
+{
+ extern Class_Descriptor cd_G1x8y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x8y5, buf);
+ G1x8y5 *dp, &lv = *(dp=new (buf) G1x8y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x8y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x8y5)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x8*), ABISELECT(16,12), "G1x8y5");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x8*), ABISELECT(28,20), "G1x8y5");
+ check_base_class_offset(lv, (C1*)(E1x8*), ABISELECT(16,12), "G1x8y5");
+ check_base_class_offset(lv, (D1*)(E1x8*), ABISELECT(40,28), "G1x8y5");
+ check_base_class_offset(lv, (E1x8*), ABISELECT(16,12), "G1x8y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G1x8y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x8y5.ff");
+ test_class_info(&lv, &cd_G1x8y5);
+ dp->~G1x8y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x8y5(Test_G1x8y5, "G1x8y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x8y5C1Ev();
+extern void _ZN6G1x8y5D1Ev();
+Name_Map name_map_G1x8y5[] = {
+ NSPAIR(_ZN6G1x8y5C1Ev),
+ NSPAIR(_ZN6G1x8y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C1;
+extern VTBL_ENTRY _ZTI2C1[];
+extern VTBL_ENTRY _ZTV2C1[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E1x8;
+extern VTBL_ENTRY _ZTI4E1x8[];
+extern VTBL_ENTRY _ZTV4E1x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x8y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(28,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x8, ABISELECT(16,12), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x8y5[];
+extern void _ZN4E1x83fooEv();
+extern void ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv)();
+static VTBL_ENTRY vtc_G1x8y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x8y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x8y5[0]),
+ (VTBL_ENTRY)&_ZN4E1x83fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G1x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G1x8y5[];
+static VTT_ENTRY vtt_G1x8y5[] = {
+ {&(_ZTV6G1x8y5[3]), 3,10},
+ {&(_ZTV6G1x8y5[6]), 6,10},
+ {&(_ZTV6G1x8y5[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI6G1x8y5[];
+extern VTBL_ENTRY _ZTV6G1x8y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x8y5[];
+Class_Descriptor cd_G1x8y5 = { "G1x8y5", // class name
+ bases_G1x8y5, 6,
+ &(vtc_G1x8y5[0]), // expected_vtbl_contents
+ &(vtt_G1x8y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x8y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x8y5),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x8y5),3, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G1x8y6 : E1x8 , virtual F0 {
+ int ff;
+ ~G1x8y6(); // tgen
+ G1x8y6(); // tgen
+};
+//SIG(1 G1x8y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G1x8y6 ::~G1x8y6(){ note_dtor("G1x8y6", this);} // tgen
+G1x8y6 ::G1x8y6(){ note_ctor("G1x8y6", this);} // tgen
+
+static void Test_G1x8y6()
+{
+ extern Class_Descriptor cd_G1x8y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x8y6, buf);
+ G1x8y6 *dp, &lv = *(dp=new (buf) G1x8y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x8y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x8y6)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x8*), 0, "G1x8y6");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x8*), ABISELECT(12,8), "G1x8y6");
+ check_base_class_offset(lv, (C1*)(E1x8*), 0, "G1x8y6");
+ check_base_class_offset(lv, (D1*)(E1x8*), ABISELECT(24,16), "G1x8y6");
+ check_base_class_offset(lv, (E1x8*), 0, "G1x8y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G1x8y6");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G1x8y6.ff");
+ test_class_info(&lv, &cd_G1x8y6);
+ dp->~G1x8y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x8y6(Test_G1x8y6, "G1x8y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x8y6C1Ev();
+extern void _ZN6G1x8y6D1Ev();
+Name_Map name_map_G1x8y6[] = {
+ NSPAIR(_ZN6G1x8y6C1Ev),
+ NSPAIR(_ZN6G1x8y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C1;
+extern VTBL_ENTRY _ZTI2C1[];
+extern VTBL_ENTRY _ZTV2C1[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E1x8;
+extern VTBL_ENTRY _ZTI4E1x8[];
+extern VTBL_ENTRY _ZTV4E1x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x8y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(24,16), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(44,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x8y6[];
+extern void _ZN4E1x83fooEv();
+extern void ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv)();
+static VTBL_ENTRY vtc_G1x8y6[] = {
+ ABISELECT(44,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x8y6[0]),
+ (VTBL_ENTRY)&_ZN4E1x83fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G1x8y6[];
+static VTT_ENTRY vtt_G1x8y6[] = {
+ {&(_ZTV6G1x8y6[3]), 3,7},
+};
+extern VTBL_ENTRY _ZTI6G1x8y6[];
+extern VTBL_ENTRY _ZTV6G1x8y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x8y6[];
+Class_Descriptor cd_G1x8y6 = { "G1x8y6", // class name
+ bases_G1x8y6, 6,
+ &(vtc_G1x8y6[0]), // expected_vtbl_contents
+ &(vtt_G1x8y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x8y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x8y6),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x8y6),1, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G1x8y7 : virtual E1x8 , virtual F0 {
+ int ff;
+ ~G1x8y7(); // tgen
+ G1x8y7(); // tgen
+};
+//SIG(1 G1x8y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G1x8y7 ::~G1x8y7(){ note_dtor("G1x8y7", this);} // tgen
+G1x8y7 ::G1x8y7(){ note_ctor("G1x8y7", this);} // tgen
+
+static void Test_G1x8y7()
+{
+ extern Class_Descriptor cd_G1x8y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G1x8y7, buf);
+ G1x8y7 *dp, &lv = *(dp=new (buf) G1x8y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G1x8y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x8y7)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x8*), ABISELECT(16,8), "G1x8y7");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x8*), ABISELECT(28,16), "G1x8y7");
+ check_base_class_offset(lv, (C1*)(E1x8*), ABISELECT(16,8), "G1x8y7");
+ check_base_class_offset(lv, (D1*)(E1x8*), ABISELECT(40,24), "G1x8y7");
+ check_base_class_offset(lv, (E1x8*), ABISELECT(16,8), "G1x8y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G1x8y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x8y7.ff");
+ test_class_info(&lv, &cd_G1x8y7);
+ dp->~G1x8y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x8y7(Test_G1x8y7, "G1x8y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x8y7C1Ev();
+extern void _ZN6G1x8y7D1Ev();
+Name_Map name_map_G1x8y7[] = {
+ NSPAIR(_ZN6G1x8y7C1Ev),
+ NSPAIR(_ZN6G1x8y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C1;
+extern VTBL_ENTRY _ZTI2C1[];
+extern VTBL_ENTRY _ZTV2C1[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E1x8;
+extern VTBL_ENTRY _ZTI4E1x8[];
+extern VTBL_ENTRY _ZTV4E1x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x8y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(28,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x8, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(56,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x8y7[];
+extern void _ZN4E1x83fooEv();
+extern void ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv)();
+static VTBL_ENTRY vtc_G1x8y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x8y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x8y7[0]),
+ (VTBL_ENTRY)&_ZN4E1x83fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G1x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E1x83fooEv,_ZThn16_N4E1x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G1x8y7[];
+static VTT_ENTRY vtt_G1x8y7[] = {
+ {&(_ZTV6G1x8y7[4]), 4,11},
+ {&(_ZTV6G1x8y7[7]), 7,11},
+ {&(_ZTV6G1x8y7[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G1x8y7[];
+extern VTBL_ENTRY _ZTV6G1x8y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x8y7[];
+Class_Descriptor cd_G1x8y7 = { "G1x8y7", // class name
+ bases_G1x8y7, 6,
+ &(vtc_G1x8y7[0]), // expected_vtbl_contents
+ &(vtt_G1x8y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G1x8y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x8y7),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x8y7),3, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E2x8 : C2 , D1 {
+ int fd;
+ virtual void foo(); // _ZN4E2x83fooEv
+ ~E2x8(); // tgen
+ E2x8(); // tgen
+};
+//SIG(-1 E2x8) C1{ BC2{ VBC3{ Fi} BC4{ Fi} Fi} BC5{ v1 Fi} v1 Fi}
+
+
+void E2x8 ::foo(){vfunc_called(this, "_ZN4E2x83fooEv");}
+E2x8 ::~E2x8(){ note_dtor("E2x8", this);} // tgen
+E2x8 ::E2x8(){ note_ctor("E2x8", this);} // tgen
+
+static void Test_E2x8()
+{
+ extern Class_Descriptor cd_E2x8;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E2x8, buf);
+ E2x8 *dp, &lv = *(dp=new (buf) E2x8());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E2x8)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E2x8)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(32,24), "E2x8");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(8,4), "E2x8");
+ check_base_class_offset(lv, (C2*), 0, "E2x8");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E2x8");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E2x8.fd");
+ test_class_info(&lv, &cd_E2x8);
+ dp->~E2x8();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE2x8(Test_E2x8, "E2x8", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E2x8C1Ev();
+extern void _ZN4E2x8D1Ev();
+Name_Map name_map_E2x8[] = {
+ NSPAIR(_ZN4E2x8C1Ev),
+ NSPAIR(_ZN4E2x8D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C2;
+extern VTBL_ENTRY _ZTI2C2[];
+extern VTBL_ENTRY _ZTV2C2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C2[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E2x8[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(32,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E2x8[];
+extern void _ZN4E2x83fooEv();
+extern void ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv)();
+static VTBL_ENTRY vtc_E2x8[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x8[0]),
+ (VTBL_ENTRY)&_ZN4E2x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E2x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv),
+};
+extern VTBL_ENTRY _ZTV4E2x8[];
+static VTBL_ENTRY _tg__ZTV2C2__4E2x8[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_E2x8[] = {
+ {&(_ZTV4E2x8[3]), 3,7},
+ {&(_tg__ZTV2C2__4E2x8[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E2x8[];
+extern VTBL_ENTRY _ZTV4E2x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x8[];
+Class_Descriptor cd_E2x8 = { "E2x8", // class name
+ bases_E2x8, 4,
+ &(vtc_E2x8[0]), // expected_vtbl_contents
+ &(vtt_E2x8[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E2x8),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E2x8),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E2x8),2, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G2x8y0 : E2x8 , F1 {
+ int ff;
+ ~G2x8y0(); // tgen
+ G2x8y0(); // tgen
+};
+//SIG(1 G2x8y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G2x8y0 ::~G2x8y0(){ note_dtor("G2x8y0", this);} // tgen
+G2x8y0 ::G2x8y0(){ note_ctor("G2x8y0", this);} // tgen
+
+static void Test_G2x8y0()
+{
+ extern Class_Descriptor cd_G2x8y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x8y0, buf);
+ G2x8y0 *dp, &lv = *(dp=new (buf) G2x8y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x8y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x8y0)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x8*), ABISELECT(48,36), "G2x8y0");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x8*), ABISELECT(8,4), "G2x8y0");
+ check_base_class_offset(lv, (C2*)(E2x8*), 0, "G2x8y0");
+ check_base_class_offset(lv, (D1*)(E2x8*), ABISELECT(16,12), "G2x8y0");
+ check_base_class_offset(lv, (E2x8*), 0, "G2x8y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G2x8y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G2x8y0.ff");
+ test_class_info(&lv, &cd_G2x8y0);
+ dp->~G2x8y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x8y0(Test_G2x8y0, "G2x8y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x8y0C1Ev();
+extern void _ZN6G2x8y0D1Ev();
+Name_Map name_map_G2x8y0[] = {
+ NSPAIR(_ZN6G2x8y0C1Ev),
+ NSPAIR(_ZN6G2x8y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C2;
+extern VTBL_ENTRY _ZTI2C2[];
+extern VTBL_ENTRY _ZTV2C2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C2[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E2x8;
+extern VTBL_ENTRY _ZTI4E2x8[];
+extern VTBL_ENTRY _ZTV4E2x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x8y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E2x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(32,24), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x8y0[];
+extern void _ZN4E2x83fooEv();
+extern void ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x8y0[0]),
+ (VTBL_ENTRY)&_ZN4E2x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G2x8y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x8y0[];
+extern void _ZN4E2x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E2x8__6G2x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x8[0]),
+ (VTBL_ENTRY)&_ZN4E2x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x8__6G2x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x8y0[] = {
+ {&(_ZTV6G2x8y0[3]), 3,10},
+ {&(_tg__ZTV4E2x8__6G2x8y0[3]), 3,4},
+ {&(_tg__ZTV2C24E2x8__6G2x8y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x8y0[];
+extern VTBL_ENTRY _ZTV6G2x8y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x8y0[];
+Class_Descriptor cd_G2x8y0 = { "G2x8y0", // class name
+ bases_G2x8y0, 6,
+ &(vtc_G2x8y0[0]), // expected_vtbl_contents
+ &(vtt_G2x8y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x8y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x8y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x8y0),3, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G2x8y1 : virtual E2x8 , F1 {
+ int ff;
+ ~G2x8y1(); // tgen
+ G2x8y1(); // tgen
+};
+//SIG(1 G2x8y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G2x8y1 ::~G2x8y1(){ note_dtor("G2x8y1", this);} // tgen
+G2x8y1 ::G2x8y1(){ note_ctor("G2x8y1", this);} // tgen
+
+static void Test_G2x8y1()
+{
+ extern Class_Descriptor cd_G2x8y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x8y1, buf);
+ G2x8y1 *dp, &lv = *(dp=new (buf) G2x8y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x8y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x8y1)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x8*), ABISELECT(48,36), "G2x8y1");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x8*), ABISELECT(24,16), "G2x8y1");
+ check_base_class_offset(lv, (C2*)(E2x8*), ABISELECT(16,12), "G2x8y1");
+ check_base_class_offset(lv, (D1*)(E2x8*), ABISELECT(32,24), "G2x8y1");
+ check_base_class_offset(lv, (E2x8*), ABISELECT(16,12), "G2x8y1");
+ check_base_class_offset(lv, (F1*), 0, "G2x8y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x8y1.ff");
+ test_class_info(&lv, &cd_G2x8y1);
+ dp->~G2x8y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x8y1(Test_G2x8y1, "G2x8y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x8y1C1Ev();
+extern void _ZN6G2x8y1D1Ev();
+Name_Map name_map_G2x8y1[] = {
+ NSPAIR(_ZN6G2x8y1C1Ev),
+ NSPAIR(_ZN6G2x8y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C2;
+extern VTBL_ENTRY _ZTI2C2[];
+extern VTBL_ENTRY _ZTV2C2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C2[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E2x8;
+extern VTBL_ENTRY _ZTI4E2x8[];
+extern VTBL_ENTRY _ZTV4E2x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x8y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(24,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C2, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E2x8, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x8y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN4E2x83fooEv();
+extern void ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv)();
+static VTBL_ENTRY vtc_G2x8y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x8y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x8y1[0]),
+ (VTBL_ENTRY)&_ZN4E2x83fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G2x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G2x8y1[];
+extern void _ZN4E2x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E2x8__6G2x8y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x8[0]),
+ (VTBL_ENTRY)&_ZN4E2x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x8__6G2x8y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x8y1[] = {
+ {&(_ZTV6G2x8y1[4]), 4,13},
+ {&(_ZTV6G2x8y1[9]), 9,13},
+ {&(_ZTV6G2x8y1[12]), 12,13},
+ {&(_tg__ZTV4E2x8__6G2x8y1[3]), 3,4},
+ {&(_tg__ZTV2C24E2x8__6G2x8y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x8y1[];
+extern VTBL_ENTRY _ZTV6G2x8y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x8y1[];
+Class_Descriptor cd_G2x8y1 = { "G2x8y1", // class name
+ bases_G2x8y1, 6,
+ &(vtc_G2x8y1[0]), // expected_vtbl_contents
+ &(vtt_G2x8y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x8y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x8y1),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x8y1),5, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G2x8y2 : E2x8 , virtual F1 {
+ int ff;
+ ~G2x8y2(); // tgen
+ G2x8y2(); // tgen
+};
+//SIG(1 G2x8y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G2x8y2 ::~G2x8y2(){ note_dtor("G2x8y2", this);} // tgen
+G2x8y2 ::G2x8y2(){ note_ctor("G2x8y2", this);} // tgen
+
+static void Test_G2x8y2()
+{
+ extern Class_Descriptor cd_G2x8y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x8y2, buf);
+ G2x8y2 *dp, &lv = *(dp=new (buf) G2x8y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x8y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x8y2)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x8*), ABISELECT(36,28), "G2x8y2");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x8*), ABISELECT(8,4), "G2x8y2");
+ check_base_class_offset(lv, (C2*)(E2x8*), 0, "G2x8y2");
+ check_base_class_offset(lv, (D1*)(E2x8*), ABISELECT(16,12), "G2x8y2");
+ check_base_class_offset(lv, (E2x8*), 0, "G2x8y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G2x8y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G2x8y2.ff");
+ test_class_info(&lv, &cd_G2x8y2);
+ dp->~G2x8y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x8y2(Test_G2x8y2, "G2x8y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x8y2C1Ev();
+extern void _ZN6G2x8y2D1Ev();
+Name_Map name_map_G2x8y2[] = {
+ NSPAIR(_ZN6G2x8y2C1Ev),
+ NSPAIR(_ZN6G2x8y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C2;
+extern VTBL_ENTRY _ZTI2C2[];
+extern VTBL_ENTRY _ZTV2C2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C2[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E2x8;
+extern VTBL_ENTRY _ZTI4E2x8[];
+extern VTBL_ENTRY _ZTV4E2x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x8y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(36,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E2x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(40,32), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x8y2[];
+extern void _ZN4E2x83fooEv();
+extern void ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x8y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x8y2[0]),
+ (VTBL_ENTRY)&_ZN4E2x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G2x8y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x8y2[];
+extern void _ZN4E2x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E2x8__6G2x8y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x8[0]),
+ (VTBL_ENTRY)&_ZN4E2x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x8__6G2x8y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x8y2[] = {
+ {&(_ZTV6G2x8y2[4]), 4,12},
+ {&(_tg__ZTV4E2x8__6G2x8y2[3]), 3,4},
+ {&(_tg__ZTV2C24E2x8__6G2x8y2[3]), 3,3},
+ {&(_ZTV6G2x8y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G2x8y2[];
+extern VTBL_ENTRY _ZTV6G2x8y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x8y2[];
+Class_Descriptor cd_G2x8y2 = { "G2x8y2", // class name
+ bases_G2x8y2, 6,
+ &(vtc_G2x8y2[0]), // expected_vtbl_contents
+ &(vtt_G2x8y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x8y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x8y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x8y2),4, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G2x8y3 : virtual E2x8 , virtual F1 {
+ int ff;
+ ~G2x8y3(); // tgen
+ G2x8y3(); // tgen
+};
+//SIG(1 G2x8y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G2x8y3 ::~G2x8y3(){ note_dtor("G2x8y3", this);} // tgen
+G2x8y3 ::G2x8y3(){ note_ctor("G2x8y3", this);} // tgen
+
+static void Test_G2x8y3()
+{
+ extern Class_Descriptor cd_G2x8y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G2x8y3, buf);
+ G2x8y3 *dp, &lv = *(dp=new (buf) G2x8y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G2x8y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x8y3)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x8*), ABISELECT(48,32), "G2x8y3");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x8*), ABISELECT(24,12), "G2x8y3");
+ check_base_class_offset(lv, (C2*)(E2x8*), ABISELECT(16,8), "G2x8y3");
+ check_base_class_offset(lv, (D1*)(E2x8*), ABISELECT(32,20), "G2x8y3");
+ check_base_class_offset(lv, (E2x8*), ABISELECT(16,8), "G2x8y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G2x8y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x8y3.ff");
+ test_class_info(&lv, &cd_G2x8y3);
+ dp->~G2x8y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x8y3(Test_G2x8y3, "G2x8y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G2x8y3C1Ev();
+extern void _ZN6G2x8y3D1Ev();
+Name_Map name_map_G2x8y3[] = {
+ NSPAIR(_ZN6G2x8y3C1Ev),
+ NSPAIR(_ZN6G2x8y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C2;
+extern VTBL_ENTRY _ZTI2C2[];
+extern VTBL_ENTRY _ZTV2C2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C2[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E2x8;
+extern VTBL_ENTRY _ZTI4E2x8[];
+extern VTBL_ENTRY _ZTV4E2x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x8y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(24,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C2, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E2x8, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x8y3[];
+extern void _ZN4E2x83fooEv();
+extern void ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x8y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x8y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x8y3[0]),
+ (VTBL_ENTRY)&_ZN4E2x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G2x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G2x8y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x8y3[];
+extern void _ZN4E2x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E2x8__6G2x8y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x8[0]),
+ (VTBL_ENTRY)&_ZN4E2x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x8__6G2x8y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x8y3[] = {
+ {&(_ZTV6G2x8y3[5]), 5,17},
+ {&(_ZTV6G2x8y3[9]), 9,17},
+ {&(_ZTV6G2x8y3[12]), 12,17},
+ {&(_ZTV6G2x8y3[16]), 16,17},
+ {&(_tg__ZTV4E2x8__6G2x8y3[3]), 3,4},
+ {&(_tg__ZTV2C24E2x8__6G2x8y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x8y3[];
+extern VTBL_ENTRY _ZTV6G2x8y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x8y3[];
+Class_Descriptor cd_G2x8y3 = { "G2x8y3", // class name
+ bases_G2x8y3, 6,
+ &(vtc_G2x8y3[0]), // expected_vtbl_contents
+ &(vtt_G2x8y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G2x8y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x8y3),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x8y3),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G2x8y4 : E2x8 , F0 {
+ int ff;
+ ~G2x8y4(); // tgen
+ G2x8y4(); // tgen
+};
+//SIG(1 G2x8y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G2x8y4 ::~G2x8y4(){ note_dtor("G2x8y4", this);} // tgen
+G2x8y4 ::G2x8y4(){ note_ctor("G2x8y4", this);} // tgen
+
+static void Test_G2x8y4()
+{
+ extern Class_Descriptor cd_G2x8y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x8y4, buf);
+ G2x8y4 *dp, &lv = *(dp=new (buf) G2x8y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x8y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x8y4)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x8*), ABISELECT(40,32), "G2x8y4");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x8*), ABISELECT(8,4), "G2x8y4");
+ check_base_class_offset(lv, (C2*)(E2x8*), 0, "G2x8y4");
+ check_base_class_offset(lv, (D1*)(E2x8*), ABISELECT(16,12), "G2x8y4");
+ check_base_class_offset(lv, (E2x8*), 0, "G2x8y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G2x8y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G2x8y4.ff");
+ test_class_info(&lv, &cd_G2x8y4);
+ dp->~G2x8y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x8y4(Test_G2x8y4, "G2x8y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x8y4C1Ev();
+extern void _ZN6G2x8y4D1Ev();
+Name_Map name_map_G2x8y4[] = {
+ NSPAIR(_ZN6G2x8y4C1Ev),
+ NSPAIR(_ZN6G2x8y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C2;
+extern VTBL_ENTRY _ZTI2C2[];
+extern VTBL_ENTRY _ZTV2C2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C2[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E2x8;
+extern VTBL_ENTRY _ZTI4E2x8[];
+extern VTBL_ENTRY _ZTV4E2x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x8y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E2x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(32,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x8y4[];
+extern void _ZN4E2x83fooEv();
+extern void ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv)();
+static VTBL_ENTRY vtc_G2x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x8y4[0]),
+ (VTBL_ENTRY)&_ZN4E2x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G2x8y4[];
+extern void _ZN4E2x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E2x8__6G2x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x8[0]),
+ (VTBL_ENTRY)&_ZN4E2x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x8__6G2x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x8y4[] = {
+ {&(_ZTV6G2x8y4[3]), 3,7},
+ {&(_tg__ZTV4E2x8__6G2x8y4[3]), 3,4},
+ {&(_tg__ZTV2C24E2x8__6G2x8y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x8y4[];
+extern VTBL_ENTRY _ZTV6G2x8y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x8y4[];
+Class_Descriptor cd_G2x8y4 = { "G2x8y4", // class name
+ bases_G2x8y4, 6,
+ &(vtc_G2x8y4[0]), // expected_vtbl_contents
+ &(vtt_G2x8y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x8y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x8y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x8y4),3, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G2x8y5 : virtual E2x8 , F0 {
+ int ff;
+ ~G2x8y5(); // tgen
+ G2x8y5(); // tgen
+};
+//SIG(1 G2x8y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G2x8y5 ::~G2x8y5(){ note_dtor("G2x8y5", this);} // tgen
+G2x8y5 ::G2x8y5(){ note_ctor("G2x8y5", this);} // tgen
+
+static void Test_G2x8y5()
+{
+ extern Class_Descriptor cd_G2x8y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x8y5, buf);
+ G2x8y5 *dp, &lv = *(dp=new (buf) G2x8y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x8y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x8y5)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x8*), ABISELECT(48,36), "G2x8y5");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x8*), ABISELECT(24,16), "G2x8y5");
+ check_base_class_offset(lv, (C2*)(E2x8*), ABISELECT(16,12), "G2x8y5");
+ check_base_class_offset(lv, (D1*)(E2x8*), ABISELECT(32,24), "G2x8y5");
+ check_base_class_offset(lv, (E2x8*), ABISELECT(16,12), "G2x8y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G2x8y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x8y5.ff");
+ test_class_info(&lv, &cd_G2x8y5);
+ dp->~G2x8y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x8y5(Test_G2x8y5, "G2x8y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x8y5C1Ev();
+extern void _ZN6G2x8y5D1Ev();
+Name_Map name_map_G2x8y5[] = {
+ NSPAIR(_ZN6G2x8y5C1Ev),
+ NSPAIR(_ZN6G2x8y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C2;
+extern VTBL_ENTRY _ZTI2C2[];
+extern VTBL_ENTRY _ZTV2C2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C2[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E2x8;
+extern VTBL_ENTRY _ZTI4E2x8[];
+extern VTBL_ENTRY _ZTV4E2x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x8y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(24,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C2, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E2x8, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x8y5[];
+extern void _ZN4E2x83fooEv();
+extern void ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv)();
+static VTBL_ENTRY vtc_G2x8y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x8y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x8y5[0]),
+ (VTBL_ENTRY)&_ZN4E2x83fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G2x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G2x8y5[];
+extern void _ZN4E2x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E2x8__6G2x8y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x8[0]),
+ (VTBL_ENTRY)&_ZN4E2x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x8__6G2x8y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x8y5[] = {
+ {&(_ZTV6G2x8y5[4]), 4,12},
+ {&(_ZTV6G2x8y5[8]), 8,12},
+ {&(_ZTV6G2x8y5[11]), 11,12},
+ {&(_tg__ZTV4E2x8__6G2x8y5[3]), 3,4},
+ {&(_tg__ZTV2C24E2x8__6G2x8y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x8y5[];
+extern VTBL_ENTRY _ZTV6G2x8y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x8y5[];
+Class_Descriptor cd_G2x8y5 = { "G2x8y5", // class name
+ bases_G2x8y5, 6,
+ &(vtc_G2x8y5[0]), // expected_vtbl_contents
+ &(vtt_G2x8y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x8y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x8y5),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x8y5),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G2x8y6 : E2x8 , virtual F0 {
+ int ff;
+ ~G2x8y6(); // tgen
+ G2x8y6(); // tgen
+};
+//SIG(1 G2x8y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G2x8y6 ::~G2x8y6(){ note_dtor("G2x8y6", this);} // tgen
+G2x8y6 ::G2x8y6(){ note_ctor("G2x8y6", this);} // tgen
+
+static void Test_G2x8y6()
+{
+ extern Class_Descriptor cd_G2x8y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x8y6, buf);
+ G2x8y6 *dp, &lv = *(dp=new (buf) G2x8y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x8y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x8y6)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x8*), ABISELECT(36,28), "G2x8y6");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x8*), ABISELECT(8,4), "G2x8y6");
+ check_base_class_offset(lv, (C2*)(E2x8*), 0, "G2x8y6");
+ check_base_class_offset(lv, (D1*)(E2x8*), ABISELECT(16,12), "G2x8y6");
+ check_base_class_offset(lv, (E2x8*), 0, "G2x8y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G2x8y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G2x8y6.ff");
+ test_class_info(&lv, &cd_G2x8y6);
+ dp->~G2x8y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x8y6(Test_G2x8y6, "G2x8y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x8y6C1Ev();
+extern void _ZN6G2x8y6D1Ev();
+Name_Map name_map_G2x8y6[] = {
+ NSPAIR(_ZN6G2x8y6C1Ev),
+ NSPAIR(_ZN6G2x8y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C2;
+extern VTBL_ENTRY _ZTI2C2[];
+extern VTBL_ENTRY _ZTV2C2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C2[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E2x8;
+extern VTBL_ENTRY _ZTI4E2x8[];
+extern VTBL_ENTRY _ZTV4E2x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x8y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(36,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E2x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(40,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x8y6[];
+extern void _ZN4E2x83fooEv();
+extern void ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv)();
+static VTBL_ENTRY vtc_G2x8y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x8y6[0]),
+ (VTBL_ENTRY)&_ZN4E2x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G2x8y6[];
+extern void _ZN4E2x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E2x8__6G2x8y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x8[0]),
+ (VTBL_ENTRY)&_ZN4E2x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x8__6G2x8y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x8y6[] = {
+ {&(_ZTV6G2x8y6[4]), 4,8},
+ {&(_tg__ZTV4E2x8__6G2x8y6[3]), 3,4},
+ {&(_tg__ZTV2C24E2x8__6G2x8y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x8y6[];
+extern VTBL_ENTRY _ZTV6G2x8y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x8y6[];
+Class_Descriptor cd_G2x8y6 = { "G2x8y6", // class name
+ bases_G2x8y6, 6,
+ &(vtc_G2x8y6[0]), // expected_vtbl_contents
+ &(vtt_G2x8y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x8y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x8y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x8y6),3, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G2x8y7 : virtual E2x8 , virtual F0 {
+ int ff;
+ ~G2x8y7(); // tgen
+ G2x8y7(); // tgen
+};
+//SIG(1 G2x8y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G2x8y7 ::~G2x8y7(){ note_dtor("G2x8y7", this);} // tgen
+G2x8y7 ::G2x8y7(){ note_ctor("G2x8y7", this);} // tgen
+
+static void Test_G2x8y7()
+{
+ extern Class_Descriptor cd_G2x8y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x8y7, buf);
+ G2x8y7 *dp, &lv = *(dp=new (buf) G2x8y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x8y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x8y7)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x8*), ABISELECT(48,32), "G2x8y7");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x8*), ABISELECT(24,12), "G2x8y7");
+ check_base_class_offset(lv, (C2*)(E2x8*), ABISELECT(16,8), "G2x8y7");
+ check_base_class_offset(lv, (D1*)(E2x8*), ABISELECT(32,20), "G2x8y7");
+ check_base_class_offset(lv, (E2x8*), ABISELECT(16,8), "G2x8y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G2x8y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x8y7.ff");
+ test_class_info(&lv, &cd_G2x8y7);
+ dp->~G2x8y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x8y7(Test_G2x8y7, "G2x8y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x8y7C1Ev();
+extern void _ZN6G2x8y7D1Ev();
+Name_Map name_map_G2x8y7[] = {
+ NSPAIR(_ZN6G2x8y7C1Ev),
+ NSPAIR(_ZN6G2x8y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C2;
+extern VTBL_ENTRY _ZTI2C2[];
+extern VTBL_ENTRY _ZTV2C2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C2[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E2x8;
+extern VTBL_ENTRY _ZTI4E2x8[];
+extern VTBL_ENTRY _ZTV4E2x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x8y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(24,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C2, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E2x8, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(52,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x8y7[];
+extern void _ZN4E2x83fooEv();
+extern void ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv)();
+static VTBL_ENTRY vtc_G2x8y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x8y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x8y7[0]),
+ (VTBL_ENTRY)&_ZN4E2x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G2x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E2x83fooEv,_ZThn12_N4E2x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G2x8y7[];
+extern void _ZN4E2x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E2x8__6G2x8y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x8[0]),
+ (VTBL_ENTRY)&_ZN4E2x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x8__6G2x8y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x8y7[] = {
+ {&(_ZTV6G2x8y7[5]), 5,13},
+ {&(_ZTV6G2x8y7[9]), 9,13},
+ {&(_ZTV6G2x8y7[12]), 12,13},
+ {&(_tg__ZTV4E2x8__6G2x8y7[3]), 3,4},
+ {&(_tg__ZTV2C24E2x8__6G2x8y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x8y7[];
+extern VTBL_ENTRY _ZTV6G2x8y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x8y7[];
+Class_Descriptor cd_G2x8y7 = { "G2x8y7", // class name
+ bases_G2x8y7, 6,
+ &(vtc_G2x8y7[0]), // expected_vtbl_contents
+ &(vtt_G2x8y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x8y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x8y7),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x8y7),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E3x8 : C3 , D1 {
+ int fd;
+ virtual void foo(); // _ZN4E3x83fooEv
+ ~E3x8(); // tgen
+ E3x8(); // tgen
+};
+//SIG(-1 E3x8) C1{ BC2{ VBC3{ v1 Fi} BC4{ Fi} Fi} BC5{ v1 Fi} v1 Fi}
+
+
+void E3x8 ::foo(){vfunc_called(this, "_ZN4E3x83fooEv");}
+E3x8 ::~E3x8(){ note_dtor("E3x8", this);} // tgen
+E3x8 ::E3x8(){ note_ctor("E3x8", this);} // tgen
+
+static void Test_E3x8()
+{
+ extern Class_Descriptor cd_E3x8;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E3x8, buf);
+ E3x8 *dp, &lv = *(dp=new (buf) E3x8());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E3x8)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E3x8)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(32,24), "E3x8");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(8,4), "E3x8");
+ check_base_class_offset(lv, (C3*), 0, "E3x8");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E3x8");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E3x8.fd");
+ test_class_info(&lv, &cd_E3x8);
+ dp->~E3x8();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE3x8(Test_E3x8, "E3x8", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN4E3x8C1Ev();
+extern void _ZN4E3x8D1Ev();
+Name_Map name_map_E3x8[] = {
+ NSPAIR(_ZN4E3x8C1Ev),
+ NSPAIR(_ZN4E3x8D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C3;
+extern VTBL_ENTRY _ZTI2C3[];
+extern VTBL_ENTRY _ZTV2C3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C3[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E3x8[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E3x8[];
+extern void _ZN4E3x83fooEv();
+extern void ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E3x8[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&_ZN4E3x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv),
+};
+extern VTBL_ENTRY _ZTV4E3x8[];
+static VTBL_ENTRY _tg__ZTV2C3__4E3x8[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__4E3x8[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E3x8[] = {
+ {&(_ZTV4E3x8[3]), 3,11},
+ {&(_tg__ZTV2C3__4E3x8[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__4E3x8[3]), 3,4},
+ {&(_ZTV4E3x8[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI4E3x8[];
+extern VTBL_ENTRY _ZTV4E3x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x8[];
+static VTBL_ENTRY alt_thunk_names8[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E3x8 = { "E3x8", // class name
+ bases_E3x8, 4,
+ &(vtc_E3x8[0]), // expected_vtbl_contents
+ &(vtt_E3x8[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI4E3x8),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E3x8),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E3x8),4, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names8,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G3x8y0 : E3x8 , F1 {
+ int ff;
+ ~G3x8y0(); // tgen
+ G3x8y0(); // tgen
+};
+//SIG(1 G3x8y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G3x8y0 ::~G3x8y0(){ note_dtor("G3x8y0", this);} // tgen
+G3x8y0 ::G3x8y0(){ note_ctor("G3x8y0", this);} // tgen
+
+static void Test_G3x8y0()
+{
+ extern Class_Descriptor cd_G3x8y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x8y0, buf);
+ G3x8y0 *dp, &lv = *(dp=new (buf) G3x8y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x8y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x8y0)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x8*), ABISELECT(48,36), "G3x8y0");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x8*), ABISELECT(8,4), "G3x8y0");
+ check_base_class_offset(lv, (C3*)(E3x8*), 0, "G3x8y0");
+ check_base_class_offset(lv, (D1*)(E3x8*), ABISELECT(16,12), "G3x8y0");
+ check_base_class_offset(lv, (E3x8*), 0, "G3x8y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G3x8y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G3x8y0.ff");
+ test_class_info(&lv, &cd_G3x8y0);
+ dp->~G3x8y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x8y0(Test_G3x8y0, "G3x8y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x8y0C1Ev();
+extern void _ZN6G3x8y0D1Ev();
+Name_Map name_map_G3x8y0[] = {
+ NSPAIR(_ZN6G3x8y0C1Ev),
+ NSPAIR(_ZN6G3x8y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C3;
+extern VTBL_ENTRY _ZTI2C3[];
+extern VTBL_ENTRY _ZTV2C3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C3[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E3x8;
+extern VTBL_ENTRY _ZTI4E3x8[];
+extern VTBL_ENTRY _ZTV4E3x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x8y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,36), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E3x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(32,24), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x8y0[];
+extern void _ZN4E3x83fooEv();
+extern void ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv)();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv)();
+extern void ABISELECT(_ZThn48_N4E3x83fooEv,_ZThn36_N4E3x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G3x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x8y0[0]),
+ (VTBL_ENTRY)&_ZN4E3x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x8y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G3x8y0[];
+extern void _ZN4E3x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E3x8__6G3x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&_ZN4E3x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x8__6G3x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x8__6G3x8y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv)();
+extern void ABISELECT(_ZThn48_N4E3x83fooEv,_ZThn36_N4E3x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__4E3x8__6G3x8y0[] = {
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv),
+};
+static VTT_ENTRY vtt_G3x8y0[] = {
+ {&(_ZTV6G3x8y0[3]), 3,14},
+ {&(_tg__ZTV4E3x8__6G3x8y0[3]), 3,4},
+ {&(_tg__ZTV2C34E3x8__6G3x8y0[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x8__6G3x8y0[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x8__6G3x8y0[3]), 3,4},
+ {&(_ZTV6G3x8y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI6G3x8y0[];
+extern VTBL_ENTRY _ZTV6G3x8y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x8y0[];
+static VTBL_ENTRY alt_thunk_names9[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N4E3x83fooEv,_ZThn36_N4E3x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N4E3x83fooEv,_ZThn36_N4E3x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G3x8y0 = { "G3x8y0", // class name
+ bases_G3x8y0, 6,
+ &(vtc_G3x8y0[0]), // expected_vtbl_contents
+ &(vtt_G3x8y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x8y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x8y0),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x8y0),6, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names9,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G3x8y1 : virtual E3x8 , F1 {
+ int ff;
+ ~G3x8y1(); // tgen
+ G3x8y1(); // tgen
+};
+//SIG(1 G3x8y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G3x8y1 ::~G3x8y1(){ note_dtor("G3x8y1", this);} // tgen
+G3x8y1 ::G3x8y1(){ note_ctor("G3x8y1", this);} // tgen
+
+static void Test_G3x8y1()
+{
+ extern Class_Descriptor cd_G3x8y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x8y1, buf);
+ G3x8y1 *dp, &lv = *(dp=new (buf) G3x8y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x8y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x8y1)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x8*), ABISELECT(48,36), "G3x8y1");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x8*), ABISELECT(24,16), "G3x8y1");
+ check_base_class_offset(lv, (C3*)(E3x8*), ABISELECT(16,12), "G3x8y1");
+ check_base_class_offset(lv, (D1*)(E3x8*), ABISELECT(32,24), "G3x8y1");
+ check_base_class_offset(lv, (E3x8*), ABISELECT(16,12), "G3x8y1");
+ check_base_class_offset(lv, (F1*), 0, "G3x8y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x8y1.ff");
+ test_class_info(&lv, &cd_G3x8y1);
+ dp->~G3x8y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x8y1(Test_G3x8y1, "G3x8y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x8y1C1Ev();
+extern void _ZN6G3x8y1D1Ev();
+Name_Map name_map_G3x8y1[] = {
+ NSPAIR(_ZN6G3x8y1C1Ev),
+ NSPAIR(_ZN6G3x8y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C3;
+extern VTBL_ENTRY _ZTI2C3[];
+extern VTBL_ENTRY _ZTV2C3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C3[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E3x8;
+extern VTBL_ENTRY _ZTI4E3x8[];
+extern VTBL_ENTRY _ZTV4E3x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x8y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,36), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(24,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C3, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E3x8, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x8y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN4E3x83fooEv();
+extern void ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G3x8y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x8y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x8y1[0]),
+ (VTBL_ENTRY)&_ZN4E3x83fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G3x8y1[];
+extern void _ZN4E3x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E3x8__6G3x8y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&_ZN4E3x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x8__6G3x8y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x8__6G3x8y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__4E3x8__6G3x8y1[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv),
+};
+static VTT_ENTRY vtt_G3x8y1[] = {
+ {&(_ZTV6G3x8y1[4]), 4,17},
+ {&(_ZTV6G3x8y1[9]), 9,17},
+ {&(_ZTV6G3x8y1[16]), 16,17},
+ {&(_ZTV6G3x8y1[12]), 12,17},
+ {&(_tg__ZTV4E3x8__6G3x8y1[3]), 3,4},
+ {&(_tg__ZTV2C34E3x8__6G3x8y1[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x8__6G3x8y1[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x8__6G3x8y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x8y1[];
+extern VTBL_ENTRY _ZTV6G3x8y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x8y1[];
+static VTBL_ENTRY alt_thunk_names10[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G3x8y1 = { "G3x8y1", // class name
+ bases_G3x8y1, 6,
+ &(vtc_G3x8y1[0]), // expected_vtbl_contents
+ &(vtt_G3x8y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x8y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x8y1),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x8y1),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names10,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G3x8y2 : E3x8 , virtual F1 {
+ int ff;
+ ~G3x8y2(); // tgen
+ G3x8y2(); // tgen
+};
+//SIG(1 G3x8y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G3x8y2 ::~G3x8y2(){ note_dtor("G3x8y2", this);} // tgen
+G3x8y2 ::G3x8y2(){ note_ctor("G3x8y2", this);} // tgen
+
+static void Test_G3x8y2()
+{
+ extern Class_Descriptor cd_G3x8y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G3x8y2, buf);
+ G3x8y2 *dp, &lv = *(dp=new (buf) G3x8y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G3x8y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x8y2)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x8*), ABISELECT(40,28), "G3x8y2");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x8*), ABISELECT(8,4), "G3x8y2");
+ check_base_class_offset(lv, (C3*)(E3x8*), 0, "G3x8y2");
+ check_base_class_offset(lv, (D1*)(E3x8*), ABISELECT(16,12), "G3x8y2");
+ check_base_class_offset(lv, (E3x8*), 0, "G3x8y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G3x8y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G3x8y2.ff");
+ test_class_info(&lv, &cd_G3x8y2);
+ dp->~G3x8y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x8y2(Test_G3x8y2, "G3x8y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x8y2C1Ev();
+extern void _ZN6G3x8y2D1Ev();
+Name_Map name_map_G3x8y2[] = {
+ NSPAIR(_ZN6G3x8y2C1Ev),
+ NSPAIR(_ZN6G3x8y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C3;
+extern VTBL_ENTRY _ZTI2C3[];
+extern VTBL_ENTRY _ZTV2C3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C3[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E3x8;
+extern VTBL_ENTRY _ZTI4E3x8[];
+extern VTBL_ENTRY _ZTV4E3x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x8y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E3x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 7, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x8y2[];
+extern void _ZN4E3x83fooEv();
+extern void ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv)();
+extern void ABISELECT(_ZThn40_N4E3x83fooEv,_ZThn28_N4E3x83fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x8y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x8y2[0]),
+ (VTBL_ENTRY)&_ZN4E3x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv),
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x8y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x8y2[];
+extern void _ZN4E3x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E3x8__6G3x8y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&_ZN4E3x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x8__6G3x8y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x8__6G3x8y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv)();
+extern void ABISELECT(_ZThn40_N4E3x83fooEv,_ZThn28_N4E3x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__4E3x8__6G3x8y2[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv),
+};
+static VTT_ENTRY vtt_G3x8y2[] = {
+ {&(_ZTV6G3x8y2[4]), 4,16},
+ {&(_tg__ZTV4E3x8__6G3x8y2[3]), 3,4},
+ {&(_tg__ZTV2C34E3x8__6G3x8y2[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x8__6G3x8y2[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x8__6G3x8y2[3]), 3,4},
+ {&(_ZTV6G3x8y2[11]), 11,16},
+ {&(_ZTV6G3x8y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI6G3x8y2[];
+extern VTBL_ENTRY _ZTV6G3x8y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x8y2[];
+static VTBL_ENTRY alt_thunk_names11[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N4E3x83fooEv,_ZThn28_N4E3x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N4E3x83fooEv,_ZThn28_N4E3x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G3x8y2 = { "G3x8y2", // class name
+ bases_G3x8y2, 6,
+ &(vtc_G3x8y2[0]), // expected_vtbl_contents
+ &(vtt_G3x8y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G3x8y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x8y2),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x8y2),7, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names11,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G3x8y3 : virtual E3x8 , virtual F1 {
+ int ff;
+ ~G3x8y3(); // tgen
+ G3x8y3(); // tgen
+};
+//SIG(1 G3x8y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G3x8y3 ::~G3x8y3(){ note_dtor("G3x8y3", this);} // tgen
+G3x8y3 ::G3x8y3(){ note_ctor("G3x8y3", this);} // tgen
+
+static void Test_G3x8y3()
+{
+ extern Class_Descriptor cd_G3x8y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G3x8y3, buf);
+ G3x8y3 *dp, &lv = *(dp=new (buf) G3x8y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G3x8y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x8y3)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x8*), ABISELECT(48,32), "G3x8y3");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x8*), ABISELECT(24,12), "G3x8y3");
+ check_base_class_offset(lv, (C3*)(E3x8*), ABISELECT(16,8), "G3x8y3");
+ check_base_class_offset(lv, (D1*)(E3x8*), ABISELECT(32,20), "G3x8y3");
+ check_base_class_offset(lv, (E3x8*), ABISELECT(16,8), "G3x8y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G3x8y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x8y3.ff");
+ test_class_info(&lv, &cd_G3x8y3);
+ dp->~G3x8y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x8y3(Test_G3x8y3, "G3x8y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G3x8y3C1Ev();
+extern void _ZN6G3x8y3D1Ev();
+Name_Map name_map_G3x8y3[] = {
+ NSPAIR(_ZN6G3x8y3C1Ev),
+ NSPAIR(_ZN6G3x8y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C3;
+extern VTBL_ENTRY _ZTI2C3[];
+extern VTBL_ENTRY _ZTV2C3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C3[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E3x8;
+extern VTBL_ENTRY _ZTI4E3x8[];
+extern VTBL_ENTRY _ZTV4E3x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x8y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(24,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C3, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E3x8, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(64,40), //bcp->offset
+ 17, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x8y3[];
+extern void _ZN4E3x83fooEv();
+extern void ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x8y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x8y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x8y3[0]),
+ (VTBL_ENTRY)&_ZN4E3x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G3x8y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x8y3[];
+extern void _ZN4E3x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E3x8__6G3x8y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&_ZN4E3x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x8__6G3x8y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x8__6G3x8y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__4E3x8__6G3x8y3[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv),
+};
+static VTT_ENTRY vtt_G3x8y3[] = {
+ {&(_ZTV6G3x8y3[5]), 5,21},
+ {&(_ZTV6G3x8y3[9]), 9,21},
+ {&(_ZTV6G3x8y3[16]), 16,21},
+ {&(_ZTV6G3x8y3[12]), 12,21},
+ {&(_ZTV6G3x8y3[20]), 20,21},
+ {&(_tg__ZTV4E3x8__6G3x8y3[3]), 3,4},
+ {&(_tg__ZTV2C34E3x8__6G3x8y3[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x8__6G3x8y3[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x8__6G3x8y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x8y3[];
+extern VTBL_ENTRY _ZTV6G3x8y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x8y3[];
+static VTBL_ENTRY alt_thunk_names12[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G3x8y3 = { "G3x8y3", // class name
+ bases_G3x8y3, 6,
+ &(vtc_G3x8y3[0]), // expected_vtbl_contents
+ &(vtt_G3x8y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G3x8y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x8y3),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x8y3),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names12,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G3x8y4 : E3x8 , F0 {
+ int ff;
+ ~G3x8y4(); // tgen
+ G3x8y4(); // tgen
+};
+//SIG(1 G3x8y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G3x8y4 ::~G3x8y4(){ note_dtor("G3x8y4", this);} // tgen
+G3x8y4 ::G3x8y4(){ note_ctor("G3x8y4", this);} // tgen
+
+static void Test_G3x8y4()
+{
+ extern Class_Descriptor cd_G3x8y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x8y4, buf);
+ G3x8y4 *dp, &lv = *(dp=new (buf) G3x8y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x8y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x8y4)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x8*), ABISELECT(40,32), "G3x8y4");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x8*), ABISELECT(8,4), "G3x8y4");
+ check_base_class_offset(lv, (C3*)(E3x8*), 0, "G3x8y4");
+ check_base_class_offset(lv, (D1*)(E3x8*), ABISELECT(16,12), "G3x8y4");
+ check_base_class_offset(lv, (E3x8*), 0, "G3x8y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G3x8y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G3x8y4.ff");
+ test_class_info(&lv, &cd_G3x8y4);
+ dp->~G3x8y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x8y4(Test_G3x8y4, "G3x8y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x8y4C1Ev();
+extern void _ZN6G3x8y4D1Ev();
+Name_Map name_map_G3x8y4[] = {
+ NSPAIR(_ZN6G3x8y4C1Ev),
+ NSPAIR(_ZN6G3x8y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C3;
+extern VTBL_ENTRY _ZTI2C3[];
+extern VTBL_ENTRY _ZTV2C3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C3[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E3x8;
+extern VTBL_ENTRY _ZTI4E3x8[];
+extern VTBL_ENTRY _ZTV4E3x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x8y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,32), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E3x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(32,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x8y4[];
+extern void _ZN4E3x83fooEv();
+extern void ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv)();
+extern void ABISELECT(_ZThn40_N4E3x83fooEv,_ZThn32_N4E3x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G3x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x8y4[0]),
+ (VTBL_ENTRY)&_ZN4E3x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv),
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G3x8y4[];
+extern void _ZN4E3x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E3x8__6G3x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&_ZN4E3x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x8__6G3x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x8__6G3x8y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv)();
+extern void ABISELECT(_ZThn40_N4E3x83fooEv,_ZThn32_N4E3x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__4E3x8__6G3x8y4[] = {
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv),
+};
+static VTT_ENTRY vtt_G3x8y4[] = {
+ {&(_ZTV6G3x8y4[3]), 3,11},
+ {&(_tg__ZTV4E3x8__6G3x8y4[3]), 3,4},
+ {&(_tg__ZTV2C34E3x8__6G3x8y4[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x8__6G3x8y4[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x8__6G3x8y4[3]), 3,4},
+ {&(_ZTV6G3x8y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G3x8y4[];
+extern VTBL_ENTRY _ZTV6G3x8y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x8y4[];
+static VTBL_ENTRY alt_thunk_names13[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N4E3x83fooEv,_ZThn32_N4E3x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N4E3x83fooEv,_ZThn32_N4E3x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G3x8y4 = { "G3x8y4", // class name
+ bases_G3x8y4, 6,
+ &(vtc_G3x8y4[0]), // expected_vtbl_contents
+ &(vtt_G3x8y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x8y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x8y4),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x8y4),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names13,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G3x8y5 : virtual E3x8 , F0 {
+ int ff;
+ ~G3x8y5(); // tgen
+ G3x8y5(); // tgen
+};
+//SIG(1 G3x8y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G3x8y5 ::~G3x8y5(){ note_dtor("G3x8y5", this);} // tgen
+G3x8y5 ::G3x8y5(){ note_ctor("G3x8y5", this);} // tgen
+
+static void Test_G3x8y5()
+{
+ extern Class_Descriptor cd_G3x8y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x8y5, buf);
+ G3x8y5 *dp, &lv = *(dp=new (buf) G3x8y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x8y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x8y5)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x8*), ABISELECT(48,36), "G3x8y5");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x8*), ABISELECT(24,16), "G3x8y5");
+ check_base_class_offset(lv, (C3*)(E3x8*), ABISELECT(16,12), "G3x8y5");
+ check_base_class_offset(lv, (D1*)(E3x8*), ABISELECT(32,24), "G3x8y5");
+ check_base_class_offset(lv, (E3x8*), ABISELECT(16,12), "G3x8y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G3x8y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x8y5.ff");
+ test_class_info(&lv, &cd_G3x8y5);
+ dp->~G3x8y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x8y5(Test_G3x8y5, "G3x8y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x8y5C1Ev();
+extern void _ZN6G3x8y5D1Ev();
+Name_Map name_map_G3x8y5[] = {
+ NSPAIR(_ZN6G3x8y5C1Ev),
+ NSPAIR(_ZN6G3x8y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C3;
+extern VTBL_ENTRY _ZTI2C3[];
+extern VTBL_ENTRY _ZTV2C3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C3[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E3x8;
+extern VTBL_ENTRY _ZTI4E3x8[];
+extern VTBL_ENTRY _ZTV4E3x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x8y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,36), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(24,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C3, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E3x8, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x8y5[];
+extern void _ZN4E3x83fooEv();
+extern void ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G3x8y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x8y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x8y5[0]),
+ (VTBL_ENTRY)&_ZN4E3x83fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G3x8y5[];
+extern void _ZN4E3x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E3x8__6G3x8y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&_ZN4E3x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x8__6G3x8y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x8__6G3x8y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__4E3x8__6G3x8y5[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv),
+};
+static VTT_ENTRY vtt_G3x8y5[] = {
+ {&(_ZTV6G3x8y5[4]), 4,16},
+ {&(_ZTV6G3x8y5[8]), 8,16},
+ {&(_ZTV6G3x8y5[15]), 15,16},
+ {&(_ZTV6G3x8y5[11]), 11,16},
+ {&(_tg__ZTV4E3x8__6G3x8y5[3]), 3,4},
+ {&(_tg__ZTV2C34E3x8__6G3x8y5[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x8__6G3x8y5[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x8__6G3x8y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x8y5[];
+extern VTBL_ENTRY _ZTV6G3x8y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x8y5[];
+static VTBL_ENTRY alt_thunk_names14[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G3x8y5 = { "G3x8y5", // class name
+ bases_G3x8y5, 6,
+ &(vtc_G3x8y5[0]), // expected_vtbl_contents
+ &(vtt_G3x8y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x8y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x8y5),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x8y5),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names14,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G3x8y6 : E3x8 , virtual F0 {
+ int ff;
+ ~G3x8y6(); // tgen
+ G3x8y6(); // tgen
+};
+//SIG(1 G3x8y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G3x8y6 ::~G3x8y6(){ note_dtor("G3x8y6", this);} // tgen
+G3x8y6 ::G3x8y6(){ note_ctor("G3x8y6", this);} // tgen
+
+static void Test_G3x8y6()
+{
+ extern Class_Descriptor cd_G3x8y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x8y6, buf);
+ G3x8y6 *dp, &lv = *(dp=new (buf) G3x8y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x8y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x8y6)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x8*), ABISELECT(40,28), "G3x8y6");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x8*), ABISELECT(8,4), "G3x8y6");
+ check_base_class_offset(lv, (C3*)(E3x8*), 0, "G3x8y6");
+ check_base_class_offset(lv, (D1*)(E3x8*), ABISELECT(16,12), "G3x8y6");
+ check_base_class_offset(lv, (E3x8*), 0, "G3x8y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G3x8y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G3x8y6.ff");
+ test_class_info(&lv, &cd_G3x8y6);
+ dp->~G3x8y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x8y6(Test_G3x8y6, "G3x8y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x8y6C1Ev();
+extern void _ZN6G3x8y6D1Ev();
+Name_Map name_map_G3x8y6[] = {
+ NSPAIR(_ZN6G3x8y6C1Ev),
+ NSPAIR(_ZN6G3x8y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C3;
+extern VTBL_ENTRY _ZTI2C3[];
+extern VTBL_ENTRY _ZTV2C3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C3[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E3x8;
+extern VTBL_ENTRY _ZTI4E3x8[];
+extern VTBL_ENTRY _ZTV4E3x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x8y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E3x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(52,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x8y6[];
+extern void _ZN4E3x83fooEv();
+extern void ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv)();
+extern void ABISELECT(_ZThn40_N4E3x83fooEv,_ZThn28_N4E3x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G3x8y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x8y6[0]),
+ (VTBL_ENTRY)&_ZN4E3x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv),
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G3x8y6[];
+extern void _ZN4E3x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E3x8__6G3x8y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&_ZN4E3x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x8__6G3x8y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x8__6G3x8y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv)();
+extern void ABISELECT(_ZThn40_N4E3x83fooEv,_ZThn28_N4E3x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__4E3x8__6G3x8y6[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv),
+};
+static VTT_ENTRY vtt_G3x8y6[] = {
+ {&(_ZTV6G3x8y6[4]), 4,12},
+ {&(_tg__ZTV4E3x8__6G3x8y6[3]), 3,4},
+ {&(_tg__ZTV2C34E3x8__6G3x8y6[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x8__6G3x8y6[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x8__6G3x8y6[3]), 3,4},
+ {&(_ZTV6G3x8y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G3x8y6[];
+extern VTBL_ENTRY _ZTV6G3x8y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x8y6[];
+static VTBL_ENTRY alt_thunk_names15[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N4E3x83fooEv,_ZThn28_N4E3x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N4E3x83fooEv,_ZThn28_N4E3x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G3x8y6 = { "G3x8y6", // class name
+ bases_G3x8y6, 6,
+ &(vtc_G3x8y6[0]), // expected_vtbl_contents
+ &(vtt_G3x8y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x8y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x8y6),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x8y6),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names15,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G3x8y7 : virtual E3x8 , virtual F0 {
+ int ff;
+ ~G3x8y7(); // tgen
+ G3x8y7(); // tgen
+};
+//SIG(1 G3x8y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G3x8y7 ::~G3x8y7(){ note_dtor("G3x8y7", this);} // tgen
+G3x8y7 ::G3x8y7(){ note_ctor("G3x8y7", this);} // tgen
+
+static void Test_G3x8y7()
+{
+ extern Class_Descriptor cd_G3x8y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x8y7, buf);
+ G3x8y7 *dp, &lv = *(dp=new (buf) G3x8y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x8y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x8y7)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x8*), ABISELECT(48,32), "G3x8y7");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x8*), ABISELECT(24,12), "G3x8y7");
+ check_base_class_offset(lv, (C3*)(E3x8*), ABISELECT(16,8), "G3x8y7");
+ check_base_class_offset(lv, (D1*)(E3x8*), ABISELECT(32,20), "G3x8y7");
+ check_base_class_offset(lv, (E3x8*), ABISELECT(16,8), "G3x8y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G3x8y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x8y7.ff");
+ test_class_info(&lv, &cd_G3x8y7);
+ dp->~G3x8y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x8y7(Test_G3x8y7, "G3x8y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x8y7C1Ev();
+extern void _ZN6G3x8y7D1Ev();
+Name_Map name_map_G3x8y7[] = {
+ NSPAIR(_ZN6G3x8y7C1Ev),
+ NSPAIR(_ZN6G3x8y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C3;
+extern VTBL_ENTRY _ZTI2C3[];
+extern VTBL_ENTRY _ZTV2C3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C3[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E3x8;
+extern VTBL_ENTRY _ZTI4E3x8[];
+extern VTBL_ENTRY _ZTV4E3x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x8y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(24,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C3, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E3x8, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(60,40), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x8y7[];
+extern void _ZN4E3x83fooEv();
+extern void ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G3x8y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x8y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x8y7[0]),
+ (VTBL_ENTRY)&_ZN4E3x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E3x83fooEv,_ZThn12_N4E3x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G3x8y7[];
+extern void _ZN4E3x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E3x8__6G3x8y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&_ZN4E3x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x8__6G3x8y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x8__6G3x8y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__4E3x8__6G3x8y7[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv),
+};
+static VTT_ENTRY vtt_G3x8y7[] = {
+ {&(_ZTV6G3x8y7[5]), 5,17},
+ {&(_ZTV6G3x8y7[9]), 9,17},
+ {&(_ZTV6G3x8y7[16]), 16,17},
+ {&(_ZTV6G3x8y7[12]), 12,17},
+ {&(_tg__ZTV4E3x8__6G3x8y7[3]), 3,4},
+ {&(_tg__ZTV2C34E3x8__6G3x8y7[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x8__6G3x8y7[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x8__6G3x8y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x8y7[];
+extern VTBL_ENTRY _ZTV6G3x8y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x8y7[];
+static VTBL_ENTRY alt_thunk_names16[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E3x83fooEv,_ZTv0_n12_N4E3x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E3x83fooEv,_ZThn24_N4E3x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G3x8y7 = { "G3x8y7", // class name
+ bases_G3x8y7, 6,
+ &(vtc_G3x8y7[0]), // expected_vtbl_contents
+ &(vtt_G3x8y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x8y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x8y7),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x8y7),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names16,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E4x8 : C4 , D1 {
+ int fd;
+ virtual void foo(); // _ZN4E4x83fooEv
+ ~E4x8(); // tgen
+ E4x8(); // tgen
+};
+//SIG(-1 E4x8) C1{ BC2{ BC3{ Fi} BC4{ v1 Fi} Fi} BC5{ v1 Fi} v1 Fi}
+
+
+void E4x8 ::foo(){vfunc_called(this, "_ZN4E4x83fooEv");}
+E4x8 ::~E4x8(){ note_dtor("E4x8", this);} // tgen
+E4x8 ::E4x8(){ note_ctor("E4x8", this);} // tgen
+
+static void Test_E4x8()
+{
+ extern Class_Descriptor cd_E4x8;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E4x8, buf);
+ E4x8 *dp, &lv = *(dp=new (buf) E4x8());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E4x8)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E4x8)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(12,8), "E4x8");
+ check_base_class_offset(lv, (B1*)(C4*), 0, "E4x8");
+ check_base_class_offset(lv, (C4*), 0, "E4x8");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,16), "E4x8");
+ check_field_offset(lv, fd, ABISELECT(36,24), "E4x8.fd");
+ test_class_info(&lv, &cd_E4x8);
+ dp->~E4x8();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE4x8(Test_E4x8, "E4x8", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E4x8C1Ev();
+extern void _ZN4E4x8D1Ev();
+Name_Map name_map_E4x8[] = {
+ NSPAIR(_ZN4E4x8C1Ev),
+ NSPAIR(_ZN4E4x8D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C4;
+extern VTBL_ENTRY _ZTI2C4[];
+extern VTBL_ENTRY _ZTV2C4[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E4x8[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(24,16), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E4x8[];
+extern void _ZN4E4x83fooEv();
+extern void ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv)();
+static VTBL_ENTRY vtc_E4x8[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x8[0]),
+ (VTBL_ENTRY)&_ZN4E4x83fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E4x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv),
+};
+extern VTBL_ENTRY _ZTI4E4x8[];
+extern VTBL_ENTRY _ZTV4E4x8[];
+Class_Descriptor cd_E4x8 = { "E4x8", // class name
+ bases_E4x8, 4,
+ &(vtc_E4x8[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E4x8),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E4x8),6, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 3, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G4x8y0 : E4x8 , F1 {
+ int ff;
+ ~G4x8y0(); // tgen
+ G4x8y0(); // tgen
+};
+//SIG(1 G4x8y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G4x8y0 ::~G4x8y0(){ note_dtor("G4x8y0", this);} // tgen
+G4x8y0 ::G4x8y0(){ note_ctor("G4x8y0", this);} // tgen
+
+static void Test_G4x8y0()
+{
+ extern Class_Descriptor cd_G4x8y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x8y0, buf);
+ G4x8y0 *dp, &lv = *(dp=new (buf) G4x8y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x8y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x8y0)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x8*), ABISELECT(12,8), "G4x8y0");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x8*), 0, "G4x8y0");
+ check_base_class_offset(lv, (C4*)(E4x8*), 0, "G4x8y0");
+ check_base_class_offset(lv, (D1*)(E4x8*), ABISELECT(24,16), "G4x8y0");
+ check_base_class_offset(lv, (E4x8*), 0, "G4x8y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,28), "G4x8y0");
+ check_field_offset(lv, ff, ABISELECT(52,36), "G4x8y0.ff");
+ test_class_info(&lv, &cd_G4x8y0);
+ dp->~G4x8y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x8y0(Test_G4x8y0, "G4x8y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x8y0C1Ev();
+extern void _ZN6G4x8y0D1Ev();
+Name_Map name_map_G4x8y0[] = {
+ NSPAIR(_ZN6G4x8y0C1Ev),
+ NSPAIR(_ZN6G4x8y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C4;
+extern VTBL_ENTRY _ZTI2C4[];
+extern VTBL_ENTRY _ZTV2C4[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E4x8;
+extern VTBL_ENTRY _ZTI4E4x8[];
+extern VTBL_ENTRY _ZTV4E4x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x8y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(24,16), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x8, 0, //bcp->offset
+ 0, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(40,28), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x8y0[];
+extern void _ZN4E4x83fooEv();
+extern void ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x8y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x8y0[0]),
+ (VTBL_ENTRY)&_ZN4E4x83fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G4x8y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G4x8y0[];
+extern VTBL_ENTRY _ZTV6G4x8y0[];
+Class_Descriptor cd_G4x8y0 = { "G4x8y0", // class name
+ bases_G4x8y0, 6,
+ &(vtc_G4x8y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x8y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x8y0),9, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 5, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G4x8y1 : virtual E4x8 , F1 {
+ int ff;
+ ~G4x8y1(); // tgen
+ G4x8y1(); // tgen
+};
+//SIG(1 G4x8y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G4x8y1 ::~G4x8y1(){ note_dtor("G4x8y1", this);} // tgen
+G4x8y1 ::G4x8y1(){ note_ctor("G4x8y1", this);} // tgen
+
+static void Test_G4x8y1()
+{
+ extern Class_Descriptor cd_G4x8y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x8y1, buf);
+ G4x8y1 *dp, &lv = *(dp=new (buf) G4x8y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x8y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x8y1)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x8*), ABISELECT(28,20), "G4x8y1");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x8*), ABISELECT(16,12), "G4x8y1");
+ check_base_class_offset(lv, (C4*)(E4x8*), ABISELECT(16,12), "G4x8y1");
+ check_base_class_offset(lv, (D1*)(E4x8*), ABISELECT(40,28), "G4x8y1");
+ check_base_class_offset(lv, (E4x8*), ABISELECT(16,12), "G4x8y1");
+ check_base_class_offset(lv, (F1*), 0, "G4x8y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x8y1.ff");
+ test_class_info(&lv, &cd_G4x8y1);
+ dp->~G4x8y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x8y1(Test_G4x8y1, "G4x8y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x8y1C1Ev();
+extern void _ZN6G4x8y1D1Ev();
+Name_Map name_map_G4x8y1[] = {
+ NSPAIR(_ZN6G4x8y1C1Ev),
+ NSPAIR(_ZN6G4x8y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C4;
+extern VTBL_ENTRY _ZTI2C4[];
+extern VTBL_ENTRY _ZTV2C4[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E4x8;
+extern VTBL_ENTRY _ZTI4E4x8[];
+extern VTBL_ENTRY _ZTV4E4x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x8y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(28,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C4, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x8, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x8y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN4E4x83fooEv();
+extern void ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv)();
+static VTBL_ENTRY vtc_G4x8y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x8y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x8y1[0]),
+ (VTBL_ENTRY)&_ZN4E4x83fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G4x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G4x8y1[];
+static VTT_ENTRY vtt_G4x8y1[] = {
+ {&(_ZTV6G4x8y1[3]), 3,11},
+ {&(_ZTV6G4x8y1[7]), 7,11},
+ {&(_ZTV6G4x8y1[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G4x8y1[];
+extern VTBL_ENTRY _ZTV6G4x8y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x8y1[];
+Class_Descriptor cd_G4x8y1 = { "G4x8y1", // class name
+ bases_G4x8y1, 6,
+ &(vtc_G4x8y1[0]), // expected_vtbl_contents
+ &(vtt_G4x8y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x8y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x8y1),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x8y1),3, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G4x8y2 : E4x8 , virtual F1 {
+ int ff;
+ ~G4x8y2(); // tgen
+ G4x8y2(); // tgen
+};
+//SIG(1 G4x8y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G4x8y2 ::~G4x8y2(){ note_dtor("G4x8y2", this);} // tgen
+G4x8y2 ::G4x8y2(){ note_ctor("G4x8y2", this);} // tgen
+
+static void Test_G4x8y2()
+{
+ extern Class_Descriptor cd_G4x8y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G4x8y2, buf);
+ G4x8y2 *dp, &lv = *(dp=new (buf) G4x8y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G4x8y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x8y2)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x8*), ABISELECT(12,8), "G4x8y2");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x8*), 0, "G4x8y2");
+ check_base_class_offset(lv, (C4*)(E4x8*), 0, "G4x8y2");
+ check_base_class_offset(lv, (D1*)(E4x8*), ABISELECT(24,16), "G4x8y2");
+ check_base_class_offset(lv, (E4x8*), 0, "G4x8y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G4x8y2");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G4x8y2.ff");
+ test_class_info(&lv, &cd_G4x8y2);
+ dp->~G4x8y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x8y2(Test_G4x8y2, "G4x8y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x8y2C1Ev();
+extern void _ZN6G4x8y2D1Ev();
+Name_Map name_map_G4x8y2[] = {
+ NSPAIR(_ZN6G4x8y2C1Ev),
+ NSPAIR(_ZN6G4x8y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C4;
+extern VTBL_ENTRY _ZTI2C4[];
+extern VTBL_ENTRY _ZTV2C4[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E4x8;
+extern VTBL_ENTRY _ZTI4E4x8[];
+extern VTBL_ENTRY _ZTV4E4x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x8y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(24,16), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(48,32), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x8y2[];
+extern void _ZN4E4x83fooEv();
+extern void ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x8y2[] = {
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x8y2[0]),
+ (VTBL_ENTRY)&_ZN4E4x83fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G4x8y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x8y2[];
+static VTT_ENTRY vtt_G4x8y2[] = {
+ {&(_ZTV6G4x8y2[3]), 3,11},
+ {&(_ZTV6G4x8y2[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G4x8y2[];
+extern VTBL_ENTRY _ZTV6G4x8y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x8y2[];
+Class_Descriptor cd_G4x8y2 = { "G4x8y2", // class name
+ bases_G4x8y2, 6,
+ &(vtc_G4x8y2[0]), // expected_vtbl_contents
+ &(vtt_G4x8y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G4x8y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x8y2),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x8y2),2, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G4x8y3 : virtual E4x8 , virtual F1 {
+ int ff;
+ ~G4x8y3(); // tgen
+ G4x8y3(); // tgen
+};
+//SIG(1 G4x8y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G4x8y3 ::~G4x8y3(){ note_dtor("G4x8y3", this);} // tgen
+G4x8y3 ::G4x8y3(){ note_ctor("G4x8y3", this);} // tgen
+
+static void Test_G4x8y3()
+{
+ extern Class_Descriptor cd_G4x8y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G4x8y3, buf);
+ G4x8y3 *dp, &lv = *(dp=new (buf) G4x8y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G4x8y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x8y3)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x8*), ABISELECT(28,16), "G4x8y3");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x8*), ABISELECT(16,8), "G4x8y3");
+ check_base_class_offset(lv, (C4*)(E4x8*), ABISELECT(16,8), "G4x8y3");
+ check_base_class_offset(lv, (D1*)(E4x8*), ABISELECT(40,24), "G4x8y3");
+ check_base_class_offset(lv, (E4x8*), ABISELECT(16,8), "G4x8y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G4x8y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x8y3.ff");
+ test_class_info(&lv, &cd_G4x8y3);
+ dp->~G4x8y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x8y3(Test_G4x8y3, "G4x8y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G4x8y3C1Ev();
+extern void _ZN6G4x8y3D1Ev();
+Name_Map name_map_G4x8y3[] = {
+ NSPAIR(_ZN6G4x8y3C1Ev),
+ NSPAIR(_ZN6G4x8y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C4;
+extern VTBL_ENTRY _ZTI2C4[];
+extern VTBL_ENTRY _ZTV2C4[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E4x8;
+extern VTBL_ENTRY _ZTI4E4x8[];
+extern VTBL_ENTRY _ZTV4E4x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x8y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(28,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C4, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x8, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x8y3[];
+extern void _ZN4E4x83fooEv();
+extern void ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x8y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x8y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x8y3[0]),
+ (VTBL_ENTRY)&_ZN4E4x83fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G4x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G4x8y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x8y3[];
+static VTT_ENTRY vtt_G4x8y3[] = {
+ {&(_ZTV6G4x8y3[4]), 4,15},
+ {&(_ZTV6G4x8y3[7]), 7,15},
+ {&(_ZTV6G4x8y3[10]), 10,15},
+ {&(_ZTV6G4x8y3[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI6G4x8y3[];
+extern VTBL_ENTRY _ZTV6G4x8y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x8y3[];
+Class_Descriptor cd_G4x8y3 = { "G4x8y3", // class name
+ bases_G4x8y3, 6,
+ &(vtc_G4x8y3[0]), // expected_vtbl_contents
+ &(vtt_G4x8y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G4x8y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x8y3),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x8y3),4, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G4x8y4 : E4x8 , F0 {
+ int ff;
+ ~G4x8y4(); // tgen
+ G4x8y4(); // tgen
+};
+//SIG(1 G4x8y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G4x8y4 ::~G4x8y4(){ note_dtor("G4x8y4", this);} // tgen
+G4x8y4 ::G4x8y4(){ note_ctor("G4x8y4", this);} // tgen
+
+static void Test_G4x8y4()
+{
+ extern Class_Descriptor cd_G4x8y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x8y4, buf);
+ G4x8y4 *dp, &lv = *(dp=new (buf) G4x8y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x8y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x8y4)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x8*), ABISELECT(12,8), "G4x8y4");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x8*), 0, "G4x8y4");
+ check_base_class_offset(lv, (C4*)(E4x8*), 0, "G4x8y4");
+ check_base_class_offset(lv, (D1*)(E4x8*), ABISELECT(24,16), "G4x8y4");
+ check_base_class_offset(lv, (E4x8*), 0, "G4x8y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,28), "G4x8y4");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G4x8y4.ff");
+ test_class_info(&lv, &cd_G4x8y4);
+ dp->~G4x8y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x8y4(Test_G4x8y4, "G4x8y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x8y4C1Ev();
+extern void _ZN6G4x8y4D1Ev();
+Name_Map name_map_G4x8y4[] = {
+ NSPAIR(_ZN6G4x8y4C1Ev),
+ NSPAIR(_ZN6G4x8y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C4;
+extern VTBL_ENTRY _ZTI2C4[];
+extern VTBL_ENTRY _ZTV2C4[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E4x8;
+extern VTBL_ENTRY _ZTI4E4x8[];
+extern VTBL_ENTRY _ZTV4E4x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x8y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(24,16), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x8, 0, //bcp->offset
+ 0, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(40,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x8y4[];
+extern void _ZN4E4x83fooEv();
+extern void ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv)();
+static VTBL_ENTRY vtc_G4x8y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x8y4[0]),
+ (VTBL_ENTRY)&_ZN4E4x83fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv),
+};
+extern VTBL_ENTRY _ZTI6G4x8y4[];
+extern VTBL_ENTRY _ZTV6G4x8y4[];
+Class_Descriptor cd_G4x8y4 = { "G4x8y4", // class name
+ bases_G4x8y4, 6,
+ &(vtc_G4x8y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x8y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x8y4),6, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 4, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G4x8y5 : virtual E4x8 , F0 {
+ int ff;
+ ~G4x8y5(); // tgen
+ G4x8y5(); // tgen
+};
+//SIG(1 G4x8y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G4x8y5 ::~G4x8y5(){ note_dtor("G4x8y5", this);} // tgen
+G4x8y5 ::G4x8y5(){ note_ctor("G4x8y5", this);} // tgen
+
+static void Test_G4x8y5()
+{
+ extern Class_Descriptor cd_G4x8y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x8y5, buf);
+ G4x8y5 *dp, &lv = *(dp=new (buf) G4x8y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x8y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x8y5)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x8*), ABISELECT(28,20), "G4x8y5");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x8*), ABISELECT(16,12), "G4x8y5");
+ check_base_class_offset(lv, (C4*)(E4x8*), ABISELECT(16,12), "G4x8y5");
+ check_base_class_offset(lv, (D1*)(E4x8*), ABISELECT(40,28), "G4x8y5");
+ check_base_class_offset(lv, (E4x8*), ABISELECT(16,12), "G4x8y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G4x8y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x8y5.ff");
+ test_class_info(&lv, &cd_G4x8y5);
+ dp->~G4x8y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x8y5(Test_G4x8y5, "G4x8y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x8y5C1Ev();
+extern void _ZN6G4x8y5D1Ev();
+Name_Map name_map_G4x8y5[] = {
+ NSPAIR(_ZN6G4x8y5C1Ev),
+ NSPAIR(_ZN6G4x8y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C4;
+extern VTBL_ENTRY _ZTI2C4[];
+extern VTBL_ENTRY _ZTV2C4[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E4x8;
+extern VTBL_ENTRY _ZTI4E4x8[];
+extern VTBL_ENTRY _ZTV4E4x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x8y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(28,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C4, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x8, ABISELECT(16,12), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x8y5[];
+extern void _ZN4E4x83fooEv();
+extern void ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv)();
+static VTBL_ENTRY vtc_G4x8y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x8y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x8y5[0]),
+ (VTBL_ENTRY)&_ZN4E4x83fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G4x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G4x8y5[];
+static VTT_ENTRY vtt_G4x8y5[] = {
+ {&(_ZTV6G4x8y5[3]), 3,10},
+ {&(_ZTV6G4x8y5[6]), 6,10},
+ {&(_ZTV6G4x8y5[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI6G4x8y5[];
+extern VTBL_ENTRY _ZTV6G4x8y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x8y5[];
+Class_Descriptor cd_G4x8y5 = { "G4x8y5", // class name
+ bases_G4x8y5, 6,
+ &(vtc_G4x8y5[0]), // expected_vtbl_contents
+ &(vtt_G4x8y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x8y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x8y5),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x8y5),3, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G4x8y6 : E4x8 , virtual F0 {
+ int ff;
+ ~G4x8y6(); // tgen
+ G4x8y6(); // tgen
+};
+//SIG(1 G4x8y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G4x8y6 ::~G4x8y6(){ note_dtor("G4x8y6", this);} // tgen
+G4x8y6 ::G4x8y6(){ note_ctor("G4x8y6", this);} // tgen
+
+static void Test_G4x8y6()
+{
+ extern Class_Descriptor cd_G4x8y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x8y6, buf);
+ G4x8y6 *dp, &lv = *(dp=new (buf) G4x8y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x8y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x8y6)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x8*), ABISELECT(12,8), "G4x8y6");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x8*), 0, "G4x8y6");
+ check_base_class_offset(lv, (C4*)(E4x8*), 0, "G4x8y6");
+ check_base_class_offset(lv, (D1*)(E4x8*), ABISELECT(24,16), "G4x8y6");
+ check_base_class_offset(lv, (E4x8*), 0, "G4x8y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G4x8y6");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G4x8y6.ff");
+ test_class_info(&lv, &cd_G4x8y6);
+ dp->~G4x8y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x8y6(Test_G4x8y6, "G4x8y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x8y6C1Ev();
+extern void _ZN6G4x8y6D1Ev();
+Name_Map name_map_G4x8y6[] = {
+ NSPAIR(_ZN6G4x8y6C1Ev),
+ NSPAIR(_ZN6G4x8y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C4;
+extern VTBL_ENTRY _ZTI2C4[];
+extern VTBL_ENTRY _ZTV2C4[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E4x8;
+extern VTBL_ENTRY _ZTI4E4x8[];
+extern VTBL_ENTRY _ZTV4E4x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x8y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(24,16), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(44,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x8y6[];
+extern void _ZN4E4x83fooEv();
+extern void ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv)();
+static VTBL_ENTRY vtc_G4x8y6[] = {
+ ABISELECT(44,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x8y6[0]),
+ (VTBL_ENTRY)&_ZN4E4x83fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G4x8y6[];
+static VTT_ENTRY vtt_G4x8y6[] = {
+ {&(_ZTV6G4x8y6[3]), 3,7},
+};
+extern VTBL_ENTRY _ZTI6G4x8y6[];
+extern VTBL_ENTRY _ZTV6G4x8y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x8y6[];
+Class_Descriptor cd_G4x8y6 = { "G4x8y6", // class name
+ bases_G4x8y6, 6,
+ &(vtc_G4x8y6[0]), // expected_vtbl_contents
+ &(vtt_G4x8y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x8y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x8y6),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x8y6),1, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G4x8y7 : virtual E4x8 , virtual F0 {
+ int ff;
+ ~G4x8y7(); // tgen
+ G4x8y7(); // tgen
+};
+//SIG(1 G4x8y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G4x8y7 ::~G4x8y7(){ note_dtor("G4x8y7", this);} // tgen
+G4x8y7 ::G4x8y7(){ note_ctor("G4x8y7", this);} // tgen
+
+static void Test_G4x8y7()
+{
+ extern Class_Descriptor cd_G4x8y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G4x8y7, buf);
+ G4x8y7 *dp, &lv = *(dp=new (buf) G4x8y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G4x8y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x8y7)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x8*), ABISELECT(28,16), "G4x8y7");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x8*), ABISELECT(16,8), "G4x8y7");
+ check_base_class_offset(lv, (C4*)(E4x8*), ABISELECT(16,8), "G4x8y7");
+ check_base_class_offset(lv, (D1*)(E4x8*), ABISELECT(40,24), "G4x8y7");
+ check_base_class_offset(lv, (E4x8*), ABISELECT(16,8), "G4x8y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G4x8y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x8y7.ff");
+ test_class_info(&lv, &cd_G4x8y7);
+ dp->~G4x8y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x8y7(Test_G4x8y7, "G4x8y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x8y7C1Ev();
+extern void _ZN6G4x8y7D1Ev();
+Name_Map name_map_G4x8y7[] = {
+ NSPAIR(_ZN6G4x8y7C1Ev),
+ NSPAIR(_ZN6G4x8y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C4;
+extern VTBL_ENTRY _ZTI2C4[];
+extern VTBL_ENTRY _ZTV2C4[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E4x8;
+extern VTBL_ENTRY _ZTI4E4x8[];
+extern VTBL_ENTRY _ZTV4E4x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x8y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(28,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C4, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x8, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(56,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x8y7[];
+extern void _ZN4E4x83fooEv();
+extern void ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv)();
+static VTBL_ENTRY vtc_G4x8y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x8y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x8y7[0]),
+ (VTBL_ENTRY)&_ZN4E4x83fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G4x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn24_N4E4x83fooEv,_ZThn16_N4E4x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G4x8y7[];
+static VTT_ENTRY vtt_G4x8y7[] = {
+ {&(_ZTV6G4x8y7[4]), 4,11},
+ {&(_ZTV6G4x8y7[7]), 7,11},
+ {&(_ZTV6G4x8y7[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G4x8y7[];
+extern VTBL_ENTRY _ZTV6G4x8y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x8y7[];
+Class_Descriptor cd_G4x8y7 = { "G4x8y7", // class name
+ bases_G4x8y7, 6,
+ &(vtc_G4x8y7[0]), // expected_vtbl_contents
+ &(vtt_G4x8y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G4x8y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x8y7),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x8y7),3, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E5x8 : C5 , D1 {
+ int fd;
+ virtual void foo(); // _ZN4E5x83fooEv
+ ~E5x8(); // tgen
+ E5x8(); // tgen
+};
+//SIG(-1 E5x8) C1{ BC2{ BC3{ v1 Fi} BC4{ v1 Fi} Fi} BC5{ v1 Fi} v1 Fi}
+
+
+void E5x8 ::foo(){vfunc_called(this, "_ZN4E5x83fooEv");}
+E5x8 ::~E5x8(){ note_dtor("E5x8", this);} // tgen
+E5x8 ::E5x8(){ note_ctor("E5x8", this);} // tgen
+
+static void Test_E5x8()
+{
+ extern Class_Descriptor cd_E5x8;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E5x8, buf);
+ E5x8 *dp, &lv = *(dp=new (buf) E5x8());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E5x8)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E5x8)");
+ check_base_class_offset(lv, (A1*)(C5*), 0, "E5x8");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(16,8), "E5x8");
+ check_base_class_offset(lv, (C5*), 0, "E5x8");
+ check_base_class_offset(lv, (D1*), ABISELECT(32,20), "E5x8");
+ check_field_offset(lv, fd, ABISELECT(44,28), "E5x8.fd");
+ test_class_info(&lv, &cd_E5x8);
+ dp->~E5x8();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE5x8(Test_E5x8, "E5x8", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN4E5x8C1Ev();
+extern void _ZN4E5x8D1Ev();
+Name_Map name_map_E5x8[] = {
+ NSPAIR(_ZN4E5x8C1Ev),
+ NSPAIR(_ZN4E5x8D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C5;
+extern VTBL_ENTRY _ZTI2C5[];
+extern VTBL_ENTRY _ZTV2C5[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E5x8[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(16,8), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E5x8[];
+extern void _ZN4E5x83fooEv();
+extern void ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv)();
+static VTBL_ENTRY vtc_E5x8[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x8[0]),
+ (VTBL_ENTRY)&_ZN4E5x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E5x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv),
+};
+extern VTBL_ENTRY _ZTI4E5x8[];
+extern VTBL_ENTRY _ZTV4E5x8[];
+Class_Descriptor cd_E5x8 = { "E5x8", // class name
+ bases_E5x8, 4,
+ &(vtc_E5x8[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI4E5x8),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E5x8),9, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 4, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G5x8y0 : E5x8 , F1 {
+ int ff;
+ ~G5x8y0(); // tgen
+ G5x8y0(); // tgen
+};
+//SIG(1 G5x8y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G5x8y0 ::~G5x8y0(){ note_dtor("G5x8y0", this);} // tgen
+G5x8y0 ::G5x8y0(){ note_ctor("G5x8y0", this);} // tgen
+
+static void Test_G5x8y0()
+{
+ extern Class_Descriptor cd_G5x8y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G5x8y0, buf);
+ G5x8y0 *dp, &lv = *(dp=new (buf) G5x8y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G5x8y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x8y0)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x8*), 0, "G5x8y0");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x8*), ABISELECT(16,8), "G5x8y0");
+ check_base_class_offset(lv, (C5*)(E5x8*), 0, "G5x8y0");
+ check_base_class_offset(lv, (D1*)(E5x8*), ABISELECT(32,20), "G5x8y0");
+ check_base_class_offset(lv, (E5x8*), 0, "G5x8y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G5x8y0");
+ check_field_offset(lv, ff, ABISELECT(60,40), "G5x8y0.ff");
+ test_class_info(&lv, &cd_G5x8y0);
+ dp->~G5x8y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x8y0(Test_G5x8y0, "G5x8y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x8y0C1Ev();
+extern void _ZN6G5x8y0D1Ev();
+Name_Map name_map_G5x8y0[] = {
+ NSPAIR(_ZN6G5x8y0C1Ev),
+ NSPAIR(_ZN6G5x8y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C5;
+extern VTBL_ENTRY _ZTI2C5[];
+extern VTBL_ENTRY _ZTV2C5[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E5x8;
+extern VTBL_ENTRY _ZTI4E5x8[];
+extern VTBL_ENTRY _ZTV4E5x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x8y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(16,8), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x8, 0, //bcp->offset
+ 0, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(48,32), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x8y0[];
+extern void _ZN4E5x83fooEv();
+extern void ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x8y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x8y0[0]),
+ (VTBL_ENTRY)&_ZN4E5x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x8y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G5x8y0[];
+extern VTBL_ENTRY _ZTV6G5x8y0[];
+Class_Descriptor cd_G5x8y0 = { "G5x8y0", // class name
+ bases_G5x8y0, 6,
+ &(vtc_G5x8y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G5x8y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x8y0),12, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 6, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G5x8y1 : virtual E5x8 , F1 {
+ int ff;
+ ~G5x8y1(); // tgen
+ G5x8y1(); // tgen
+};
+//SIG(1 G5x8y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G5x8y1 ::~G5x8y1(){ note_dtor("G5x8y1", this);} // tgen
+G5x8y1 ::G5x8y1(){ note_ctor("G5x8y1", this);} // tgen
+
+static void Test_G5x8y1()
+{
+ extern Class_Descriptor cd_G5x8y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G5x8y1, buf);
+ G5x8y1 *dp, &lv = *(dp=new (buf) G5x8y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G5x8y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x8y1)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x8*), ABISELECT(16,12), "G5x8y1");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x8*), ABISELECT(32,20), "G5x8y1");
+ check_base_class_offset(lv, (C5*)(E5x8*), ABISELECT(16,12), "G5x8y1");
+ check_base_class_offset(lv, (D1*)(E5x8*), ABISELECT(48,32), "G5x8y1");
+ check_base_class_offset(lv, (E5x8*), ABISELECT(16,12), "G5x8y1");
+ check_base_class_offset(lv, (F1*), 0, "G5x8y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x8y1.ff");
+ test_class_info(&lv, &cd_G5x8y1);
+ dp->~G5x8y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x8y1(Test_G5x8y1, "G5x8y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x8y1C1Ev();
+extern void _ZN6G5x8y1D1Ev();
+Name_Map name_map_G5x8y1[] = {
+ NSPAIR(_ZN6G5x8y1C1Ev),
+ NSPAIR(_ZN6G5x8y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C5;
+extern VTBL_ENTRY _ZTI2C5[];
+extern VTBL_ENTRY _ZTV2C5[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E5x8;
+extern VTBL_ENTRY _ZTI4E5x8[];
+extern VTBL_ENTRY _ZTV4E5x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x8y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x8, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x8y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN4E5x83fooEv();
+extern void ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv)();
+static VTBL_ENTRY vtc_G5x8y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x8y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x8y1[0]),
+ (VTBL_ENTRY)&_ZN4E5x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G5x8y1[];
+static VTT_ENTRY vtt_G5x8y1[] = {
+ {&(_ZTV6G5x8y1[3]), 3,14},
+ {&(_ZTV6G5x8y1[7]), 7,14},
+ {&(_ZTV6G5x8y1[10]), 10,14},
+ {&(_ZTV6G5x8y1[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI6G5x8y1[];
+extern VTBL_ENTRY _ZTV6G5x8y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x8y1[];
+Class_Descriptor cd_G5x8y1 = { "G5x8y1", // class name
+ bases_G5x8y1, 6,
+ &(vtc_G5x8y1[0]), // expected_vtbl_contents
+ &(vtt_G5x8y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G5x8y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x8y1),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x8y1),4, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G5x8y2 : E5x8 , virtual F1 {
+ int ff;
+ ~G5x8y2(); // tgen
+ G5x8y2(); // tgen
+};
+//SIG(1 G5x8y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G5x8y2 ::~G5x8y2(){ note_dtor("G5x8y2", this);} // tgen
+G5x8y2 ::G5x8y2(){ note_ctor("G5x8y2", this);} // tgen
+
+static void Test_G5x8y2()
+{
+ extern Class_Descriptor cd_G5x8y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x8y2, buf);
+ G5x8y2 *dp, &lv = *(dp=new (buf) G5x8y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x8y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x8y2)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x8*), 0, "G5x8y2");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x8*), ABISELECT(16,8), "G5x8y2");
+ check_base_class_offset(lv, (C5*)(E5x8*), 0, "G5x8y2");
+ check_base_class_offset(lv, (D1*)(E5x8*), ABISELECT(32,20), "G5x8y2");
+ check_base_class_offset(lv, (E5x8*), 0, "G5x8y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G5x8y2");
+ check_field_offset(lv, ff, ABISELECT(48,32), "G5x8y2.ff");
+ test_class_info(&lv, &cd_G5x8y2);
+ dp->~G5x8y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x8y2(Test_G5x8y2, "G5x8y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x8y2C1Ev();
+extern void _ZN6G5x8y2D1Ev();
+Name_Map name_map_G5x8y2[] = {
+ NSPAIR(_ZN6G5x8y2C1Ev),
+ NSPAIR(_ZN6G5x8y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C5;
+extern VTBL_ENTRY _ZTI2C5[];
+extern VTBL_ENTRY _ZTV2C5[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E5x8;
+extern VTBL_ENTRY _ZTI4E5x8[];
+extern VTBL_ENTRY _ZTV4E5x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x8y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x8y2[];
+extern void _ZN4E5x83fooEv();
+extern void ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x8y2[] = {
+ ABISELECT(56,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x8y2[0]),
+ (VTBL_ENTRY)&_ZN4E5x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G5x8y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x8y2[];
+static VTT_ENTRY vtt_G5x8y2[] = {
+ {&(_ZTV6G5x8y2[3]), 3,14},
+ {&(_ZTV6G5x8y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI6G5x8y2[];
+extern VTBL_ENTRY _ZTV6G5x8y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x8y2[];
+Class_Descriptor cd_G5x8y2 = { "G5x8y2", // class name
+ bases_G5x8y2, 6,
+ &(vtc_G5x8y2[0]), // expected_vtbl_contents
+ &(vtt_G5x8y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x8y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x8y2),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x8y2),2, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G5x8y3 : virtual E5x8 , virtual F1 {
+ int ff;
+ ~G5x8y3(); // tgen
+ G5x8y3(); // tgen
+};
+//SIG(1 G5x8y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G5x8y3 ::~G5x8y3(){ note_dtor("G5x8y3", this);} // tgen
+G5x8y3 ::G5x8y3(){ note_ctor("G5x8y3", this);} // tgen
+
+static void Test_G5x8y3()
+{
+ extern Class_Descriptor cd_G5x8y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G5x8y3, buf);
+ G5x8y3 *dp, &lv = *(dp=new (buf) G5x8y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G5x8y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x8y3)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x8*), ABISELECT(16,8), "G5x8y3");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x8*), ABISELECT(32,16), "G5x8y3");
+ check_base_class_offset(lv, (C5*)(E5x8*), ABISELECT(16,8), "G5x8y3");
+ check_base_class_offset(lv, (D1*)(E5x8*), ABISELECT(48,28), "G5x8y3");
+ check_base_class_offset(lv, (E5x8*), ABISELECT(16,8), "G5x8y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G5x8y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x8y3.ff");
+ test_class_info(&lv, &cd_G5x8y3);
+ dp->~G5x8y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x8y3(Test_G5x8y3, "G5x8y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G5x8y3C1Ev();
+extern void _ZN6G5x8y3D1Ev();
+Name_Map name_map_G5x8y3[] = {
+ NSPAIR(_ZN6G5x8y3C1Ev),
+ NSPAIR(_ZN6G5x8y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C5;
+extern VTBL_ENTRY _ZTI2C5[];
+extern VTBL_ENTRY _ZTV2C5[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E5x8;
+extern VTBL_ENTRY _ZTI4E5x8[];
+extern VTBL_ENTRY _ZTV4E5x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x8y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(32,16), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(48,28), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x8, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(64,40), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x8y3[];
+extern void _ZN4E5x83fooEv();
+extern void ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x8y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x8y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x8y3[0]),
+ (VTBL_ENTRY)&_ZN4E5x83fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G5x8y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x8y3[];
+static VTT_ENTRY vtt_G5x8y3[] = {
+ {&(_ZTV6G5x8y3[4]), 4,18},
+ {&(_ZTV6G5x8y3[7]), 7,18},
+ {&(_ZTV6G5x8y3[10]), 10,18},
+ {&(_ZTV6G5x8y3[13]), 13,18},
+ {&(_ZTV6G5x8y3[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI6G5x8y3[];
+extern VTBL_ENTRY _ZTV6G5x8y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x8y3[];
+Class_Descriptor cd_G5x8y3 = { "G5x8y3", // class name
+ bases_G5x8y3, 6,
+ &(vtc_G5x8y3[0]), // expected_vtbl_contents
+ &(vtt_G5x8y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G5x8y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x8y3),18, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x8y3),5, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G5x8y4 : E5x8 , F0 {
+ int ff;
+ ~G5x8y4(); // tgen
+ G5x8y4(); // tgen
+};
+//SIG(1 G5x8y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G5x8y4 ::~G5x8y4(){ note_dtor("G5x8y4", this);} // tgen
+G5x8y4 ::G5x8y4(){ note_ctor("G5x8y4", this);} // tgen
+
+static void Test_G5x8y4()
+{
+ extern Class_Descriptor cd_G5x8y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G5x8y4, buf);
+ G5x8y4 *dp, &lv = *(dp=new (buf) G5x8y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G5x8y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x8y4)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x8*), 0, "G5x8y4");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x8*), ABISELECT(16,8), "G5x8y4");
+ check_base_class_offset(lv, (C5*)(E5x8*), 0, "G5x8y4");
+ check_base_class_offset(lv, (D1*)(E5x8*), ABISELECT(32,20), "G5x8y4");
+ check_base_class_offset(lv, (E5x8*), 0, "G5x8y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(48,32), "G5x8y4");
+ check_field_offset(lv, ff, ABISELECT(52,36), "G5x8y4.ff");
+ test_class_info(&lv, &cd_G5x8y4);
+ dp->~G5x8y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x8y4(Test_G5x8y4, "G5x8y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x8y4C1Ev();
+extern void _ZN6G5x8y4D1Ev();
+Name_Map name_map_G5x8y4[] = {
+ NSPAIR(_ZN6G5x8y4C1Ev),
+ NSPAIR(_ZN6G5x8y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C5;
+extern VTBL_ENTRY _ZTI2C5[];
+extern VTBL_ENTRY _ZTV2C5[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E5x8;
+extern VTBL_ENTRY _ZTI4E5x8[];
+extern VTBL_ENTRY _ZTV4E5x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x8y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(16,8), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x8, 0, //bcp->offset
+ 0, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(48,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x8y4[];
+extern void _ZN4E5x83fooEv();
+extern void ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv)();
+static VTBL_ENTRY vtc_G5x8y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x8y4[0]),
+ (VTBL_ENTRY)&_ZN4E5x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv),
+};
+extern VTBL_ENTRY _ZTI6G5x8y4[];
+extern VTBL_ENTRY _ZTV6G5x8y4[];
+Class_Descriptor cd_G5x8y4 = { "G5x8y4", // class name
+ bases_G5x8y4, 6,
+ &(vtc_G5x8y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G5x8y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x8y4),9, //virtual function table var
+ 2, // offset into main vftv pointed to by object[0]
+ {0,0},0, // virtual table table var
+ 5, // n_initialized_bases
+ 0, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G5x8y5 : virtual E5x8 , F0 {
+ int ff;
+ ~G5x8y5(); // tgen
+ G5x8y5(); // tgen
+};
+//SIG(1 G5x8y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G5x8y5 ::~G5x8y5(){ note_dtor("G5x8y5", this);} // tgen
+G5x8y5 ::G5x8y5(){ note_ctor("G5x8y5", this);} // tgen
+
+static void Test_G5x8y5()
+{
+ extern Class_Descriptor cd_G5x8y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G5x8y5, buf);
+ G5x8y5 *dp, &lv = *(dp=new (buf) G5x8y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G5x8y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x8y5)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x8*), ABISELECT(16,12), "G5x8y5");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x8*), ABISELECT(32,20), "G5x8y5");
+ check_base_class_offset(lv, (C5*)(E5x8*), ABISELECT(16,12), "G5x8y5");
+ check_base_class_offset(lv, (D1*)(E5x8*), ABISELECT(48,32), "G5x8y5");
+ check_base_class_offset(lv, (E5x8*), ABISELECT(16,12), "G5x8y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G5x8y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x8y5.ff");
+ test_class_info(&lv, &cd_G5x8y5);
+ dp->~G5x8y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x8y5(Test_G5x8y5, "G5x8y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x8y5C1Ev();
+extern void _ZN6G5x8y5D1Ev();
+Name_Map name_map_G5x8y5[] = {
+ NSPAIR(_ZN6G5x8y5C1Ev),
+ NSPAIR(_ZN6G5x8y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C5;
+extern VTBL_ENTRY _ZTI2C5[];
+extern VTBL_ENTRY _ZTV2C5[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E5x8;
+extern VTBL_ENTRY _ZTI4E5x8[];
+extern VTBL_ENTRY _ZTV4E5x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x8y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(32,20), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x8, ABISELECT(16,12), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x8y5[];
+extern void _ZN4E5x83fooEv();
+extern void ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv)();
+static VTBL_ENTRY vtc_G5x8y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x8y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x8y5[0]),
+ (VTBL_ENTRY)&_ZN4E5x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G5x8y5[];
+static VTT_ENTRY vtt_G5x8y5[] = {
+ {&(_ZTV6G5x8y5[3]), 3,13},
+ {&(_ZTV6G5x8y5[6]), 6,13},
+ {&(_ZTV6G5x8y5[9]), 9,13},
+ {&(_ZTV6G5x8y5[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G5x8y5[];
+extern VTBL_ENTRY _ZTV6G5x8y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x8y5[];
+Class_Descriptor cd_G5x8y5 = { "G5x8y5", // class name
+ bases_G5x8y5, 6,
+ &(vtc_G5x8y5[0]), // expected_vtbl_contents
+ &(vtt_G5x8y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G5x8y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x8y5),13, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x8y5),4, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G5x8y6 : E5x8 , virtual F0 {
+ int ff;
+ ~G5x8y6(); // tgen
+ G5x8y6(); // tgen
+};
+//SIG(1 G5x8y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G5x8y6 ::~G5x8y6(){ note_dtor("G5x8y6", this);} // tgen
+G5x8y6 ::G5x8y6(){ note_ctor("G5x8y6", this);} // tgen
+
+static void Test_G5x8y6()
+{
+ extern Class_Descriptor cd_G5x8y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G5x8y6, buf);
+ G5x8y6 *dp, &lv = *(dp=new (buf) G5x8y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G5x8y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x8y6)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x8*), 0, "G5x8y6");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x8*), ABISELECT(16,8), "G5x8y6");
+ check_base_class_offset(lv, (C5*)(E5x8*), 0, "G5x8y6");
+ check_base_class_offset(lv, (D1*)(E5x8*), ABISELECT(32,20), "G5x8y6");
+ check_base_class_offset(lv, (E5x8*), 0, "G5x8y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G5x8y6");
+ check_field_offset(lv, ff, ABISELECT(48,32), "G5x8y6.ff");
+ test_class_info(&lv, &cd_G5x8y6);
+ dp->~G5x8y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x8y6(Test_G5x8y6, "G5x8y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x8y6C1Ev();
+extern void _ZN6G5x8y6D1Ev();
+Name_Map name_map_G5x8y6[] = {
+ NSPAIR(_ZN6G5x8y6C1Ev),
+ NSPAIR(_ZN6G5x8y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C5;
+extern VTBL_ENTRY _ZTI2C5[];
+extern VTBL_ENTRY _ZTV2C5[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E5x8;
+extern VTBL_ENTRY _ZTI4E5x8[];
+extern VTBL_ENTRY _ZTV4E5x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x8y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(52,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x8y6[];
+extern void _ZN4E5x83fooEv();
+extern void ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv)();
+static VTBL_ENTRY vtc_G5x8y6[] = {
+ ABISELECT(52,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x8y6[0]),
+ (VTBL_ENTRY)&_ZN4E5x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G5x8y6[];
+static VTT_ENTRY vtt_G5x8y6[] = {
+ {&(_ZTV6G5x8y6[3]), 3,10},
+};
+extern VTBL_ENTRY _ZTI6G5x8y6[];
+extern VTBL_ENTRY _ZTV6G5x8y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x8y6[];
+Class_Descriptor cd_G5x8y6 = { "G5x8y6", // class name
+ bases_G5x8y6, 6,
+ &(vtc_G5x8y6[0]), // expected_vtbl_contents
+ &(vtt_G5x8y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G5x8y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x8y6),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x8y6),1, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G5x8y7 : virtual E5x8 , virtual F0 {
+ int ff;
+ ~G5x8y7(); // tgen
+ G5x8y7(); // tgen
+};
+//SIG(1 G5x8y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G5x8y7 ::~G5x8y7(){ note_dtor("G5x8y7", this);} // tgen
+G5x8y7 ::G5x8y7(){ note_ctor("G5x8y7", this);} // tgen
+
+static void Test_G5x8y7()
+{
+ extern Class_Descriptor cd_G5x8y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x8y7, buf);
+ G5x8y7 *dp, &lv = *(dp=new (buf) G5x8y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x8y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x8y7)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x8*), ABISELECT(16,8), "G5x8y7");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x8*), ABISELECT(32,16), "G5x8y7");
+ check_base_class_offset(lv, (C5*)(E5x8*), ABISELECT(16,8), "G5x8y7");
+ check_base_class_offset(lv, (D1*)(E5x8*), ABISELECT(48,28), "G5x8y7");
+ check_base_class_offset(lv, (E5x8*), ABISELECT(16,8), "G5x8y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G5x8y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x8y7.ff");
+ test_class_info(&lv, &cd_G5x8y7);
+ dp->~G5x8y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x8y7(Test_G5x8y7, "G5x8y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x8y7C1Ev();
+extern void _ZN6G5x8y7D1Ev();
+Name_Map name_map_G5x8y7[] = {
+ NSPAIR(_ZN6G5x8y7C1Ev),
+ NSPAIR(_ZN6G5x8y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C5;
+extern VTBL_ENTRY _ZTI2C5[];
+extern VTBL_ENTRY _ZTV2C5[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E5x8;
+extern VTBL_ENTRY _ZTI4E5x8[];
+extern VTBL_ENTRY _ZTV4E5x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x8y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(32,16), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(48,28), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x8, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(64,40), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x8y7[];
+extern void _ZN4E5x83fooEv();
+extern void ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv)();
+static VTBL_ENTRY vtc_G5x8y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x8y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x8y7[0]),
+ (VTBL_ENTRY)&_ZN4E5x83fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E5x83fooEv,_ZThn8_N4E5x83fooEv),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn32_N4E5x83fooEv,_ZThn20_N4E5x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G5x8y7[];
+static VTT_ENTRY vtt_G5x8y7[] = {
+ {&(_ZTV6G5x8y7[4]), 4,14},
+ {&(_ZTV6G5x8y7[7]), 7,14},
+ {&(_ZTV6G5x8y7[10]), 10,14},
+ {&(_ZTV6G5x8y7[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI6G5x8y7[];
+extern VTBL_ENTRY _ZTV6G5x8y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x8y7[];
+Class_Descriptor cd_G5x8y7 = { "G5x8y7", // class name
+ bases_G5x8y7, 6,
+ &(vtc_G5x8y7[0]), // expected_vtbl_contents
+ &(vtt_G5x8y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x8y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x8y7),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x8y7),4, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E6x8 : C6 , D1 {
+ int fd;
+ virtual void foo(); // _ZN4E6x83fooEv
+ ~E6x8(); // tgen
+ E6x8(); // tgen
+};
+//SIG(-1 E6x8) C1{ BC2{ VBC3{ Fi} BC4{ v1 Fi} Fi} BC5{ v1 Fi} v1 Fi}
+
+
+void E6x8 ::foo(){vfunc_called(this, "_ZN4E6x83fooEv");}
+E6x8 ::~E6x8(){ note_dtor("E6x8", this);} // tgen
+E6x8 ::E6x8(){ note_ctor("E6x8", this);} // tgen
+
+static void Test_E6x8()
+{
+ extern Class_Descriptor cd_E6x8;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E6x8, buf);
+ E6x8 *dp, &lv = *(dp=new (buf) E6x8());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E6x8)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E6x8)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(32,24), "E6x8");
+ check_base_class_offset(lv, (B1*)(C6*), 0, "E6x8");
+ check_base_class_offset(lv, (C6*), 0, "E6x8");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E6x8");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E6x8.fd");
+ test_class_info(&lv, &cd_E6x8);
+ dp->~E6x8();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE6x8(Test_E6x8, "E6x8", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E6x8C1Ev();
+extern void _ZN4E6x8D1Ev();
+Name_Map name_map_E6x8[] = {
+ NSPAIR(_ZN4E6x8C1Ev),
+ NSPAIR(_ZN4E6x8D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C6;
+extern VTBL_ENTRY _ZTI2C6[];
+extern VTBL_ENTRY _ZTV2C6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C6[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E6x8[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(32,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C6, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E6x8[];
+extern void _ZN4E6x83fooEv();
+extern void ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv)();
+static VTBL_ENTRY vtc_E6x8[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x8[0]),
+ (VTBL_ENTRY)&_ZN4E6x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E6x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv),
+};
+extern VTBL_ENTRY _ZTV4E6x8[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x8[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E6x8[] = {
+ {&(_ZTV4E6x8[3]), 3,7},
+ {&(_tg__ZTV2C6__4E6x8[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E6x8[];
+extern VTBL_ENTRY _ZTV4E6x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x8[];
+Class_Descriptor cd_E6x8 = { "E6x8", // class name
+ bases_E6x8, 4,
+ &(vtc_E6x8[0]), // expected_vtbl_contents
+ &(vtt_E6x8[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E6x8),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E6x8),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E6x8),2, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G6x8y0 : E6x8 , F1 {
+ int ff;
+ ~G6x8y0(); // tgen
+ G6x8y0(); // tgen
+};
+//SIG(1 G6x8y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G6x8y0 ::~G6x8y0(){ note_dtor("G6x8y0", this);} // tgen
+G6x8y0 ::G6x8y0(){ note_ctor("G6x8y0", this);} // tgen
+
+static void Test_G6x8y0()
+{
+ extern Class_Descriptor cd_G6x8y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x8y0, buf);
+ G6x8y0 *dp, &lv = *(dp=new (buf) G6x8y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x8y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x8y0)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x8*), ABISELECT(48,36), "G6x8y0");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x8*), 0, "G6x8y0");
+ check_base_class_offset(lv, (C6*)(E6x8*), 0, "G6x8y0");
+ check_base_class_offset(lv, (D1*)(E6x8*), ABISELECT(16,12), "G6x8y0");
+ check_base_class_offset(lv, (E6x8*), 0, "G6x8y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G6x8y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G6x8y0.ff");
+ test_class_info(&lv, &cd_G6x8y0);
+ dp->~G6x8y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x8y0(Test_G6x8y0, "G6x8y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x8y0C1Ev();
+extern void _ZN6G6x8y0D1Ev();
+Name_Map name_map_G6x8y0[] = {
+ NSPAIR(_ZN6G6x8y0C1Ev),
+ NSPAIR(_ZN6G6x8y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C6;
+extern VTBL_ENTRY _ZTI2C6[];
+extern VTBL_ENTRY _ZTV2C6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C6[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E6x8;
+extern VTBL_ENTRY _ZTI4E6x8[];
+extern VTBL_ENTRY _ZTV4E6x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x8y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C6, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E6x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(32,24), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x8y0[];
+extern void _ZN4E6x83fooEv();
+extern void ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x8y0[0]),
+ (VTBL_ENTRY)&_ZN4E6x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G6x8y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x8y0[];
+extern void _ZN4E6x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x8__6G6x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x8[0]),
+ (VTBL_ENTRY)&_ZN4E6x83fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x8__6G6x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x8y0[] = {
+ {&(_ZTV6G6x8y0[3]), 3,10},
+ {&(_tg__ZTV4E6x8__6G6x8y0[3]), 3,4},
+ {&(_tg__ZTV2C64E6x8__6G6x8y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x8y0[];
+extern VTBL_ENTRY _ZTV6G6x8y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x8y0[];
+Class_Descriptor cd_G6x8y0 = { "G6x8y0", // class name
+ bases_G6x8y0, 6,
+ &(vtc_G6x8y0[0]), // expected_vtbl_contents
+ &(vtt_G6x8y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x8y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x8y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x8y0),3, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G6x8y1 : virtual E6x8 , F1 {
+ int ff;
+ ~G6x8y1(); // tgen
+ G6x8y1(); // tgen
+};
+//SIG(1 G6x8y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G6x8y1 ::~G6x8y1(){ note_dtor("G6x8y1", this);} // tgen
+G6x8y1 ::G6x8y1(){ note_ctor("G6x8y1", this);} // tgen
+
+static void Test_G6x8y1()
+{
+ extern Class_Descriptor cd_G6x8y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x8y1, buf);
+ G6x8y1 *dp, &lv = *(dp=new (buf) G6x8y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x8y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x8y1)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x8*), ABISELECT(48,36), "G6x8y1");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x8*), ABISELECT(16,12), "G6x8y1");
+ check_base_class_offset(lv, (C6*)(E6x8*), ABISELECT(16,12), "G6x8y1");
+ check_base_class_offset(lv, (D1*)(E6x8*), ABISELECT(32,24), "G6x8y1");
+ check_base_class_offset(lv, (E6x8*), ABISELECT(16,12), "G6x8y1");
+ check_base_class_offset(lv, (F1*), 0, "G6x8y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x8y1.ff");
+ test_class_info(&lv, &cd_G6x8y1);
+ dp->~G6x8y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x8y1(Test_G6x8y1, "G6x8y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x8y1C1Ev();
+extern void _ZN6G6x8y1D1Ev();
+Name_Map name_map_G6x8y1[] = {
+ NSPAIR(_ZN6G6x8y1C1Ev),
+ NSPAIR(_ZN6G6x8y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C6;
+extern VTBL_ENTRY _ZTI2C6[];
+extern VTBL_ENTRY _ZTV2C6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C6[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E6x8;
+extern VTBL_ENTRY _ZTI4E6x8[];
+extern VTBL_ENTRY _ZTV4E6x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x8y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C6, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E6x8, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x8y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN4E6x83fooEv();
+extern void ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv)();
+static VTBL_ENTRY vtc_G6x8y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x8y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x8y1[0]),
+ (VTBL_ENTRY)&_ZN4E6x83fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G6x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G6x8y1[];
+extern void _ZN4E6x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x8__6G6x8y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x8[0]),
+ (VTBL_ENTRY)&_ZN4E6x83fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x8__6G6x8y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x8y1[] = {
+ {&(_ZTV6G6x8y1[4]), 4,13},
+ {&(_ZTV6G6x8y1[9]), 9,13},
+ {&(_ZTV6G6x8y1[12]), 12,13},
+ {&(_tg__ZTV4E6x8__6G6x8y1[3]), 3,4},
+ {&(_tg__ZTV2C64E6x8__6G6x8y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x8y1[];
+extern VTBL_ENTRY _ZTV6G6x8y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x8y1[];
+Class_Descriptor cd_G6x8y1 = { "G6x8y1", // class name
+ bases_G6x8y1, 6,
+ &(vtc_G6x8y1[0]), // expected_vtbl_contents
+ &(vtt_G6x8y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x8y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x8y1),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x8y1),5, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G6x8y2 : E6x8 , virtual F1 {
+ int ff;
+ ~G6x8y2(); // tgen
+ G6x8y2(); // tgen
+};
+//SIG(1 G6x8y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G6x8y2 ::~G6x8y2(){ note_dtor("G6x8y2", this);} // tgen
+G6x8y2 ::G6x8y2(){ note_ctor("G6x8y2", this);} // tgen
+
+static void Test_G6x8y2()
+{
+ extern Class_Descriptor cd_G6x8y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x8y2, buf);
+ G6x8y2 *dp, &lv = *(dp=new (buf) G6x8y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x8y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x8y2)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x8*), ABISELECT(36,28), "G6x8y2");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x8*), 0, "G6x8y2");
+ check_base_class_offset(lv, (C6*)(E6x8*), 0, "G6x8y2");
+ check_base_class_offset(lv, (D1*)(E6x8*), ABISELECT(16,12), "G6x8y2");
+ check_base_class_offset(lv, (E6x8*), 0, "G6x8y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G6x8y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G6x8y2.ff");
+ test_class_info(&lv, &cd_G6x8y2);
+ dp->~G6x8y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x8y2(Test_G6x8y2, "G6x8y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x8y2C1Ev();
+extern void _ZN6G6x8y2D1Ev();
+Name_Map name_map_G6x8y2[] = {
+ NSPAIR(_ZN6G6x8y2C1Ev),
+ NSPAIR(_ZN6G6x8y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C6;
+extern VTBL_ENTRY _ZTI2C6[];
+extern VTBL_ENTRY _ZTV2C6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C6[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E6x8;
+extern VTBL_ENTRY _ZTI4E6x8[];
+extern VTBL_ENTRY _ZTV4E6x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x8y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(36,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C6, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E6x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(40,32), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x8y2[];
+extern void _ZN4E6x83fooEv();
+extern void ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x8y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x8y2[0]),
+ (VTBL_ENTRY)&_ZN4E6x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G6x8y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x8y2[];
+extern void _ZN4E6x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x8__6G6x8y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x8[0]),
+ (VTBL_ENTRY)&_ZN4E6x83fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x8__6G6x8y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x8y2[] = {
+ {&(_ZTV6G6x8y2[4]), 4,12},
+ {&(_tg__ZTV4E6x8__6G6x8y2[3]), 3,4},
+ {&(_tg__ZTV2C64E6x8__6G6x8y2[3]), 3,4},
+ {&(_ZTV6G6x8y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G6x8y2[];
+extern VTBL_ENTRY _ZTV6G6x8y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x8y2[];
+Class_Descriptor cd_G6x8y2 = { "G6x8y2", // class name
+ bases_G6x8y2, 6,
+ &(vtc_G6x8y2[0]), // expected_vtbl_contents
+ &(vtt_G6x8y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x8y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x8y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x8y2),4, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G6x8y3 : virtual E6x8 , virtual F1 {
+ int ff;
+ ~G6x8y3(); // tgen
+ G6x8y3(); // tgen
+};
+//SIG(1 G6x8y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G6x8y3 ::~G6x8y3(){ note_dtor("G6x8y3", this);} // tgen
+G6x8y3 ::G6x8y3(){ note_ctor("G6x8y3", this);} // tgen
+
+static void Test_G6x8y3()
+{
+ extern Class_Descriptor cd_G6x8y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G6x8y3, buf);
+ G6x8y3 *dp, &lv = *(dp=new (buf) G6x8y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G6x8y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x8y3)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x8*), ABISELECT(48,32), "G6x8y3");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x8*), ABISELECT(16,8), "G6x8y3");
+ check_base_class_offset(lv, (C6*)(E6x8*), ABISELECT(16,8), "G6x8y3");
+ check_base_class_offset(lv, (D1*)(E6x8*), ABISELECT(32,20), "G6x8y3");
+ check_base_class_offset(lv, (E6x8*), ABISELECT(16,8), "G6x8y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G6x8y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x8y3.ff");
+ test_class_info(&lv, &cd_G6x8y3);
+ dp->~G6x8y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x8y3(Test_G6x8y3, "G6x8y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G6x8y3C1Ev();
+extern void _ZN6G6x8y3D1Ev();
+Name_Map name_map_G6x8y3[] = {
+ NSPAIR(_ZN6G6x8y3C1Ev),
+ NSPAIR(_ZN6G6x8y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C6;
+extern VTBL_ENTRY _ZTI2C6[];
+extern VTBL_ENTRY _ZTV2C6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C6[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E6x8;
+extern VTBL_ENTRY _ZTI4E6x8[];
+extern VTBL_ENTRY _ZTV4E6x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x8y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C6, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E6x8, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x8y3[];
+extern void _ZN4E6x83fooEv();
+extern void ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x8y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x8y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x8y3[0]),
+ (VTBL_ENTRY)&_ZN4E6x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G6x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G6x8y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x8y3[];
+extern void _ZN4E6x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x8__6G6x8y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x8[0]),
+ (VTBL_ENTRY)&_ZN4E6x83fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x8__6G6x8y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x8y3[] = {
+ {&(_ZTV6G6x8y3[5]), 5,17},
+ {&(_ZTV6G6x8y3[9]), 9,17},
+ {&(_ZTV6G6x8y3[12]), 12,17},
+ {&(_ZTV6G6x8y3[16]), 16,17},
+ {&(_tg__ZTV4E6x8__6G6x8y3[3]), 3,4},
+ {&(_tg__ZTV2C64E6x8__6G6x8y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x8y3[];
+extern VTBL_ENTRY _ZTV6G6x8y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x8y3[];
+Class_Descriptor cd_G6x8y3 = { "G6x8y3", // class name
+ bases_G6x8y3, 6,
+ &(vtc_G6x8y3[0]), // expected_vtbl_contents
+ &(vtt_G6x8y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G6x8y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x8y3),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x8y3),6, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G6x8y4 : E6x8 , F0 {
+ int ff;
+ ~G6x8y4(); // tgen
+ G6x8y4(); // tgen
+};
+//SIG(1 G6x8y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G6x8y4 ::~G6x8y4(){ note_dtor("G6x8y4", this);} // tgen
+G6x8y4 ::G6x8y4(){ note_ctor("G6x8y4", this);} // tgen
+
+static void Test_G6x8y4()
+{
+ extern Class_Descriptor cd_G6x8y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x8y4, buf);
+ G6x8y4 *dp, &lv = *(dp=new (buf) G6x8y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x8y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x8y4)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x8*), ABISELECT(40,32), "G6x8y4");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x8*), 0, "G6x8y4");
+ check_base_class_offset(lv, (C6*)(E6x8*), 0, "G6x8y4");
+ check_base_class_offset(lv, (D1*)(E6x8*), ABISELECT(16,12), "G6x8y4");
+ check_base_class_offset(lv, (E6x8*), 0, "G6x8y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G6x8y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G6x8y4.ff");
+ test_class_info(&lv, &cd_G6x8y4);
+ dp->~G6x8y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x8y4(Test_G6x8y4, "G6x8y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x8y4C1Ev();
+extern void _ZN6G6x8y4D1Ev();
+Name_Map name_map_G6x8y4[] = {
+ NSPAIR(_ZN6G6x8y4C1Ev),
+ NSPAIR(_ZN6G6x8y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C6;
+extern VTBL_ENTRY _ZTI2C6[];
+extern VTBL_ENTRY _ZTV2C6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C6[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E6x8;
+extern VTBL_ENTRY _ZTI4E6x8[];
+extern VTBL_ENTRY _ZTV4E6x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x8y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C6, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E6x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(32,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x8y4[];
+extern void _ZN4E6x83fooEv();
+extern void ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv)();
+static VTBL_ENTRY vtc_G6x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x8y4[0]),
+ (VTBL_ENTRY)&_ZN4E6x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G6x8y4[];
+extern void _ZN4E6x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x8__6G6x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x8[0]),
+ (VTBL_ENTRY)&_ZN4E6x83fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x8__6G6x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x8y4[] = {
+ {&(_ZTV6G6x8y4[3]), 3,7},
+ {&(_tg__ZTV4E6x8__6G6x8y4[3]), 3,4},
+ {&(_tg__ZTV2C64E6x8__6G6x8y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x8y4[];
+extern VTBL_ENTRY _ZTV6G6x8y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x8y4[];
+Class_Descriptor cd_G6x8y4 = { "G6x8y4", // class name
+ bases_G6x8y4, 6,
+ &(vtc_G6x8y4[0]), // expected_vtbl_contents
+ &(vtt_G6x8y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x8y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x8y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x8y4),3, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G6x8y5 : virtual E6x8 , F0 {
+ int ff;
+ ~G6x8y5(); // tgen
+ G6x8y5(); // tgen
+};
+//SIG(1 G6x8y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G6x8y5 ::~G6x8y5(){ note_dtor("G6x8y5", this);} // tgen
+G6x8y5 ::G6x8y5(){ note_ctor("G6x8y5", this);} // tgen
+
+static void Test_G6x8y5()
+{
+ extern Class_Descriptor cd_G6x8y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x8y5, buf);
+ G6x8y5 *dp, &lv = *(dp=new (buf) G6x8y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x8y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x8y5)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x8*), ABISELECT(48,36), "G6x8y5");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x8*), ABISELECT(16,12), "G6x8y5");
+ check_base_class_offset(lv, (C6*)(E6x8*), ABISELECT(16,12), "G6x8y5");
+ check_base_class_offset(lv, (D1*)(E6x8*), ABISELECT(32,24), "G6x8y5");
+ check_base_class_offset(lv, (E6x8*), ABISELECT(16,12), "G6x8y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G6x8y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x8y5.ff");
+ test_class_info(&lv, &cd_G6x8y5);
+ dp->~G6x8y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x8y5(Test_G6x8y5, "G6x8y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x8y5C1Ev();
+extern void _ZN6G6x8y5D1Ev();
+Name_Map name_map_G6x8y5[] = {
+ NSPAIR(_ZN6G6x8y5C1Ev),
+ NSPAIR(_ZN6G6x8y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C6;
+extern VTBL_ENTRY _ZTI2C6[];
+extern VTBL_ENTRY _ZTV2C6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C6[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E6x8;
+extern VTBL_ENTRY _ZTI4E6x8[];
+extern VTBL_ENTRY _ZTV4E6x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x8y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C6, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E6x8, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x8y5[];
+extern void _ZN4E6x83fooEv();
+extern void ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv)();
+static VTBL_ENTRY vtc_G6x8y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x8y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x8y5[0]),
+ (VTBL_ENTRY)&_ZN4E6x83fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G6x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G6x8y5[];
+extern void _ZN4E6x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x8__6G6x8y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x8[0]),
+ (VTBL_ENTRY)&_ZN4E6x83fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x8__6G6x8y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x8y5[] = {
+ {&(_ZTV6G6x8y5[4]), 4,12},
+ {&(_ZTV6G6x8y5[8]), 8,12},
+ {&(_ZTV6G6x8y5[11]), 11,12},
+ {&(_tg__ZTV4E6x8__6G6x8y5[3]), 3,4},
+ {&(_tg__ZTV2C64E6x8__6G6x8y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x8y5[];
+extern VTBL_ENTRY _ZTV6G6x8y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x8y5[];
+Class_Descriptor cd_G6x8y5 = { "G6x8y5", // class name
+ bases_G6x8y5, 6,
+ &(vtc_G6x8y5[0]), // expected_vtbl_contents
+ &(vtt_G6x8y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x8y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x8y5),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x8y5),5, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G6x8y6 : E6x8 , virtual F0 {
+ int ff;
+ ~G6x8y6(); // tgen
+ G6x8y6(); // tgen
+};
+//SIG(1 G6x8y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G6x8y6 ::~G6x8y6(){ note_dtor("G6x8y6", this);} // tgen
+G6x8y6 ::G6x8y6(){ note_ctor("G6x8y6", this);} // tgen
+
+static void Test_G6x8y6()
+{
+ extern Class_Descriptor cd_G6x8y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x8y6, buf);
+ G6x8y6 *dp, &lv = *(dp=new (buf) G6x8y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x8y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x8y6)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x8*), ABISELECT(36,28), "G6x8y6");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x8*), 0, "G6x8y6");
+ check_base_class_offset(lv, (C6*)(E6x8*), 0, "G6x8y6");
+ check_base_class_offset(lv, (D1*)(E6x8*), ABISELECT(16,12), "G6x8y6");
+ check_base_class_offset(lv, (E6x8*), 0, "G6x8y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G6x8y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G6x8y6.ff");
+ test_class_info(&lv, &cd_G6x8y6);
+ dp->~G6x8y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x8y6(Test_G6x8y6, "G6x8y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x8y6C1Ev();
+extern void _ZN6G6x8y6D1Ev();
+Name_Map name_map_G6x8y6[] = {
+ NSPAIR(_ZN6G6x8y6C1Ev),
+ NSPAIR(_ZN6G6x8y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C6;
+extern VTBL_ENTRY _ZTI2C6[];
+extern VTBL_ENTRY _ZTV2C6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C6[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E6x8;
+extern VTBL_ENTRY _ZTI4E6x8[];
+extern VTBL_ENTRY _ZTV4E6x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x8y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(36,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C6, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E6x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(40,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x8y6[];
+extern void _ZN4E6x83fooEv();
+extern void ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv)();
+static VTBL_ENTRY vtc_G6x8y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x8y6[0]),
+ (VTBL_ENTRY)&_ZN4E6x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G6x8y6[];
+extern void _ZN4E6x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x8__6G6x8y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x8[0]),
+ (VTBL_ENTRY)&_ZN4E6x83fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x8__6G6x8y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x8y6[] = {
+ {&(_ZTV6G6x8y6[4]), 4,8},
+ {&(_tg__ZTV4E6x8__6G6x8y6[3]), 3,4},
+ {&(_tg__ZTV2C64E6x8__6G6x8y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x8y6[];
+extern VTBL_ENTRY _ZTV6G6x8y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x8y6[];
+Class_Descriptor cd_G6x8y6 = { "G6x8y6", // class name
+ bases_G6x8y6, 6,
+ &(vtc_G6x8y6[0]), // expected_vtbl_contents
+ &(vtt_G6x8y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x8y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x8y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x8y6),3, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G6x8y7 : virtual E6x8 , virtual F0 {
+ int ff;
+ ~G6x8y7(); // tgen
+ G6x8y7(); // tgen
+};
+//SIG(1 G6x8y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G6x8y7 ::~G6x8y7(){ note_dtor("G6x8y7", this);} // tgen
+G6x8y7 ::G6x8y7(){ note_ctor("G6x8y7", this);} // tgen
+
+static void Test_G6x8y7()
+{
+ extern Class_Descriptor cd_G6x8y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x8y7, buf);
+ G6x8y7 *dp, &lv = *(dp=new (buf) G6x8y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x8y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x8y7)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x8*), ABISELECT(48,32), "G6x8y7");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x8*), ABISELECT(16,8), "G6x8y7");
+ check_base_class_offset(lv, (C6*)(E6x8*), ABISELECT(16,8), "G6x8y7");
+ check_base_class_offset(lv, (D1*)(E6x8*), ABISELECT(32,20), "G6x8y7");
+ check_base_class_offset(lv, (E6x8*), ABISELECT(16,8), "G6x8y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G6x8y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x8y7.ff");
+ test_class_info(&lv, &cd_G6x8y7);
+ dp->~G6x8y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x8y7(Test_G6x8y7, "G6x8y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x8y7C1Ev();
+extern void _ZN6G6x8y7D1Ev();
+Name_Map name_map_G6x8y7[] = {
+ NSPAIR(_ZN6G6x8y7C1Ev),
+ NSPAIR(_ZN6G6x8y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C6;
+extern VTBL_ENTRY _ZTI2C6[];
+extern VTBL_ENTRY _ZTV2C6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C6[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E6x8;
+extern VTBL_ENTRY _ZTI4E6x8[];
+extern VTBL_ENTRY _ZTV4E6x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x8y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C6, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E6x8, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(52,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x8y7[];
+extern void _ZN4E6x83fooEv();
+extern void ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv)();
+static VTBL_ENTRY vtc_G6x8y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x8y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x8y7[0]),
+ (VTBL_ENTRY)&_ZN4E6x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G6x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E6x83fooEv,_ZThn12_N4E6x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G6x8y7[];
+extern void _ZN4E6x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x8__6G6x8y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x8[0]),
+ (VTBL_ENTRY)&_ZN4E6x83fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x8__6G6x8y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x8y7[] = {
+ {&(_ZTV6G6x8y7[5]), 5,13},
+ {&(_ZTV6G6x8y7[9]), 9,13},
+ {&(_ZTV6G6x8y7[12]), 12,13},
+ {&(_tg__ZTV4E6x8__6G6x8y7[3]), 3,4},
+ {&(_tg__ZTV2C64E6x8__6G6x8y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x8y7[];
+extern VTBL_ENTRY _ZTV6G6x8y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x8y7[];
+Class_Descriptor cd_G6x8y7 = { "G6x8y7", // class name
+ bases_G6x8y7, 6,
+ &(vtc_G6x8y7[0]), // expected_vtbl_contents
+ &(vtt_G6x8y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x8y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x8y7),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x8y7),5, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E7x8 : C7 , D1 {
+ int fd;
+ virtual void foo(); // _ZN4E7x83fooEv
+ ~E7x8(); // tgen
+ E7x8(); // tgen
+};
+//SIG(-1 E7x8) C1{ BC2{ VBC3{ v1 Fi} BC4{ v1 Fi} Fi} BC5{ v1 Fi} v1 Fi}
+
+
+void E7x8 ::foo(){vfunc_called(this, "_ZN4E7x83fooEv");}
+E7x8 ::~E7x8(){ note_dtor("E7x8", this);} // tgen
+E7x8 ::E7x8(){ note_ctor("E7x8", this);} // tgen
+
+static void Test_E7x8()
+{
+ extern Class_Descriptor cd_E7x8;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E7x8, buf);
+ E7x8 *dp, &lv = *(dp=new (buf) E7x8());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E7x8)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E7x8)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(32,24), "E7x8");
+ check_base_class_offset(lv, (B1*)(C7*), 0, "E7x8");
+ check_base_class_offset(lv, (C7*), 0, "E7x8");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E7x8");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E7x8.fd");
+ test_class_info(&lv, &cd_E7x8);
+ dp->~E7x8();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE7x8(Test_E7x8, "E7x8", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN4E7x8C1Ev();
+extern void _ZN4E7x8D1Ev();
+Name_Map name_map_E7x8[] = {
+ NSPAIR(_ZN4E7x8C1Ev),
+ NSPAIR(_ZN4E7x8D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C7;
+extern VTBL_ENTRY _ZTI2C7[];
+extern VTBL_ENTRY _ZTV2C7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C7[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E7x8[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E7x8[];
+extern void _ZN4E7x83fooEv();
+extern void ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E7x8[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&_ZN4E7x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv),
+};
+extern VTBL_ENTRY _ZTV4E7x8[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x8[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__4E7x8[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E7x8[] = {
+ {&(_ZTV4E7x8[3]), 3,11},
+ {&(_tg__ZTV2C7__4E7x8[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__4E7x8[3]), 3,4},
+ {&(_ZTV4E7x8[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI4E7x8[];
+extern VTBL_ENTRY _ZTV4E7x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x8[];
+static VTBL_ENTRY alt_thunk_names17[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E7x8 = { "E7x8", // class name
+ bases_E7x8, 4,
+ &(vtc_E7x8[0]), // expected_vtbl_contents
+ &(vtt_E7x8[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI4E7x8),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E7x8),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E7x8),4, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names17,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G7x8y0 : E7x8 , F1 {
+ int ff;
+ ~G7x8y0(); // tgen
+ G7x8y0(); // tgen
+};
+//SIG(1 G7x8y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G7x8y0 ::~G7x8y0(){ note_dtor("G7x8y0", this);} // tgen
+G7x8y0 ::G7x8y0(){ note_ctor("G7x8y0", this);} // tgen
+
+static void Test_G7x8y0()
+{
+ extern Class_Descriptor cd_G7x8y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x8y0, buf);
+ G7x8y0 *dp, &lv = *(dp=new (buf) G7x8y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x8y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x8y0)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x8*), ABISELECT(48,36), "G7x8y0");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x8*), 0, "G7x8y0");
+ check_base_class_offset(lv, (C7*)(E7x8*), 0, "G7x8y0");
+ check_base_class_offset(lv, (D1*)(E7x8*), ABISELECT(16,12), "G7x8y0");
+ check_base_class_offset(lv, (E7x8*), 0, "G7x8y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G7x8y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G7x8y0.ff");
+ test_class_info(&lv, &cd_G7x8y0);
+ dp->~G7x8y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x8y0(Test_G7x8y0, "G7x8y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x8y0C1Ev();
+extern void _ZN6G7x8y0D1Ev();
+Name_Map name_map_G7x8y0[] = {
+ NSPAIR(_ZN6G7x8y0C1Ev),
+ NSPAIR(_ZN6G7x8y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C7;
+extern VTBL_ENTRY _ZTI2C7[];
+extern VTBL_ENTRY _ZTV2C7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C7[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E7x8;
+extern VTBL_ENTRY _ZTI4E7x8[];
+extern VTBL_ENTRY _ZTV4E7x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x8y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,36), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E7x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(32,24), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x8y0[];
+extern void _ZN4E7x83fooEv();
+extern void ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv)();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv)();
+extern void ABISELECT(_ZThn48_N4E7x83fooEv,_ZThn36_N4E7x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G7x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x8y0[0]),
+ (VTBL_ENTRY)&_ZN4E7x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x8y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G7x8y0[];
+extern void _ZN4E7x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x8__6G7x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&_ZN4E7x83fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x8__6G7x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x8__6G7x8y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv)();
+extern void ABISELECT(_ZThn48_N4E7x83fooEv,_ZThn36_N4E7x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__4E7x8__6G7x8y0[] = {
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv),
+};
+static VTT_ENTRY vtt_G7x8y0[] = {
+ {&(_ZTV6G7x8y0[3]), 3,14},
+ {&(_tg__ZTV4E7x8__6G7x8y0[3]), 3,4},
+ {&(_tg__ZTV2C74E7x8__6G7x8y0[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x8__6G7x8y0[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x8__6G7x8y0[3]), 3,4},
+ {&(_ZTV6G7x8y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI6G7x8y0[];
+extern VTBL_ENTRY _ZTV6G7x8y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x8y0[];
+static VTBL_ENTRY alt_thunk_names18[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N4E7x83fooEv,_ZThn36_N4E7x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N4E7x83fooEv,_ZThn36_N4E7x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G7x8y0 = { "G7x8y0", // class name
+ bases_G7x8y0, 6,
+ &(vtc_G7x8y0[0]), // expected_vtbl_contents
+ &(vtt_G7x8y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x8y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x8y0),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x8y0),6, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names18,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G7x8y1 : virtual E7x8 , F1 {
+ int ff;
+ ~G7x8y1(); // tgen
+ G7x8y1(); // tgen
+};
+//SIG(1 G7x8y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G7x8y1 ::~G7x8y1(){ note_dtor("G7x8y1", this);} // tgen
+G7x8y1 ::G7x8y1(){ note_ctor("G7x8y1", this);} // tgen
+
+static void Test_G7x8y1()
+{
+ extern Class_Descriptor cd_G7x8y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x8y1, buf);
+ G7x8y1 *dp, &lv = *(dp=new (buf) G7x8y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x8y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x8y1)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x8*), ABISELECT(48,36), "G7x8y1");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x8*), ABISELECT(16,12), "G7x8y1");
+ check_base_class_offset(lv, (C7*)(E7x8*), ABISELECT(16,12), "G7x8y1");
+ check_base_class_offset(lv, (D1*)(E7x8*), ABISELECT(32,24), "G7x8y1");
+ check_base_class_offset(lv, (E7x8*), ABISELECT(16,12), "G7x8y1");
+ check_base_class_offset(lv, (F1*), 0, "G7x8y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x8y1.ff");
+ test_class_info(&lv, &cd_G7x8y1);
+ dp->~G7x8y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x8y1(Test_G7x8y1, "G7x8y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x8y1C1Ev();
+extern void _ZN6G7x8y1D1Ev();
+Name_Map name_map_G7x8y1[] = {
+ NSPAIR(_ZN6G7x8y1C1Ev),
+ NSPAIR(_ZN6G7x8y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C7;
+extern VTBL_ENTRY _ZTI2C7[];
+extern VTBL_ENTRY _ZTV2C7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C7[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E7x8;
+extern VTBL_ENTRY _ZTI4E7x8[];
+extern VTBL_ENTRY _ZTV4E7x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x8y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,36), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E7x8, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x8y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN4E7x83fooEv();
+extern void ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G7x8y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x8y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x8y1[0]),
+ (VTBL_ENTRY)&_ZN4E7x83fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G7x8y1[];
+extern void _ZN4E7x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x8__6G7x8y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&_ZN4E7x83fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x8__6G7x8y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x8__6G7x8y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__4E7x8__6G7x8y1[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv),
+};
+static VTT_ENTRY vtt_G7x8y1[] = {
+ {&(_ZTV6G7x8y1[4]), 4,17},
+ {&(_ZTV6G7x8y1[9]), 9,17},
+ {&(_ZTV6G7x8y1[16]), 16,17},
+ {&(_ZTV6G7x8y1[12]), 12,17},
+ {&(_tg__ZTV4E7x8__6G7x8y1[3]), 3,4},
+ {&(_tg__ZTV2C74E7x8__6G7x8y1[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x8__6G7x8y1[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x8__6G7x8y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x8y1[];
+extern VTBL_ENTRY _ZTV6G7x8y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x8y1[];
+static VTBL_ENTRY alt_thunk_names19[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G7x8y1 = { "G7x8y1", // class name
+ bases_G7x8y1, 6,
+ &(vtc_G7x8y1[0]), // expected_vtbl_contents
+ &(vtt_G7x8y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x8y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x8y1),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x8y1),8, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names19,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G7x8y2 : E7x8 , virtual F1 {
+ int ff;
+ ~G7x8y2(); // tgen
+ G7x8y2(); // tgen
+};
+//SIG(1 G7x8y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G7x8y2 ::~G7x8y2(){ note_dtor("G7x8y2", this);} // tgen
+G7x8y2 ::G7x8y2(){ note_ctor("G7x8y2", this);} // tgen
+
+static void Test_G7x8y2()
+{
+ extern Class_Descriptor cd_G7x8y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G7x8y2, buf);
+ G7x8y2 *dp, &lv = *(dp=new (buf) G7x8y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G7x8y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x8y2)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x8*), ABISELECT(40,28), "G7x8y2");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x8*), 0, "G7x8y2");
+ check_base_class_offset(lv, (C7*)(E7x8*), 0, "G7x8y2");
+ check_base_class_offset(lv, (D1*)(E7x8*), ABISELECT(16,12), "G7x8y2");
+ check_base_class_offset(lv, (E7x8*), 0, "G7x8y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G7x8y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G7x8y2.ff");
+ test_class_info(&lv, &cd_G7x8y2);
+ dp->~G7x8y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x8y2(Test_G7x8y2, "G7x8y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x8y2C1Ev();
+extern void _ZN6G7x8y2D1Ev();
+Name_Map name_map_G7x8y2[] = {
+ NSPAIR(_ZN6G7x8y2C1Ev),
+ NSPAIR(_ZN6G7x8y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C7;
+extern VTBL_ENTRY _ZTI2C7[];
+extern VTBL_ENTRY _ZTV2C7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C7[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E7x8;
+extern VTBL_ENTRY _ZTI4E7x8[];
+extern VTBL_ENTRY _ZTV4E7x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x8y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E7x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 7, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x8y2[];
+extern void _ZN4E7x83fooEv();
+extern void ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv)();
+extern void ABISELECT(_ZThn40_N4E7x83fooEv,_ZThn28_N4E7x83fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x8y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x8y2[0]),
+ (VTBL_ENTRY)&_ZN4E7x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv),
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x8y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x8y2[];
+extern void _ZN4E7x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x8__6G7x8y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&_ZN4E7x83fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x8__6G7x8y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x8__6G7x8y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv)();
+extern void ABISELECT(_ZThn40_N4E7x83fooEv,_ZThn28_N4E7x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__4E7x8__6G7x8y2[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv),
+};
+static VTT_ENTRY vtt_G7x8y2[] = {
+ {&(_ZTV6G7x8y2[4]), 4,16},
+ {&(_tg__ZTV4E7x8__6G7x8y2[3]), 3,4},
+ {&(_tg__ZTV2C74E7x8__6G7x8y2[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x8__6G7x8y2[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x8__6G7x8y2[3]), 3,4},
+ {&(_ZTV6G7x8y2[11]), 11,16},
+ {&(_ZTV6G7x8y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI6G7x8y2[];
+extern VTBL_ENTRY _ZTV6G7x8y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x8y2[];
+static VTBL_ENTRY alt_thunk_names20[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N4E7x83fooEv,_ZThn28_N4E7x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N4E7x83fooEv,_ZThn28_N4E7x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G7x8y2 = { "G7x8y2", // class name
+ bases_G7x8y2, 6,
+ &(vtc_G7x8y2[0]), // expected_vtbl_contents
+ &(vtt_G7x8y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G7x8y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x8y2),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x8y2),7, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names20,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G7x8y3 : virtual E7x8 , virtual F1 {
+ int ff;
+ ~G7x8y3(); // tgen
+ G7x8y3(); // tgen
+};
+//SIG(1 G7x8y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G7x8y3 ::~G7x8y3(){ note_dtor("G7x8y3", this);} // tgen
+G7x8y3 ::G7x8y3(){ note_ctor("G7x8y3", this);} // tgen
+
+static void Test_G7x8y3()
+{
+ extern Class_Descriptor cd_G7x8y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G7x8y3, buf);
+ G7x8y3 *dp, &lv = *(dp=new (buf) G7x8y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G7x8y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x8y3)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x8*), ABISELECT(48,32), "G7x8y3");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x8*), ABISELECT(16,8), "G7x8y3");
+ check_base_class_offset(lv, (C7*)(E7x8*), ABISELECT(16,8), "G7x8y3");
+ check_base_class_offset(lv, (D1*)(E7x8*), ABISELECT(32,20), "G7x8y3");
+ check_base_class_offset(lv, (E7x8*), ABISELECT(16,8), "G7x8y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G7x8y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x8y3.ff");
+ test_class_info(&lv, &cd_G7x8y3);
+ dp->~G7x8y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x8y3(Test_G7x8y3, "G7x8y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G7x8y3C1Ev();
+extern void _ZN6G7x8y3D1Ev();
+Name_Map name_map_G7x8y3[] = {
+ NSPAIR(_ZN6G7x8y3C1Ev),
+ NSPAIR(_ZN6G7x8y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C7;
+extern VTBL_ENTRY _ZTI2C7[];
+extern VTBL_ENTRY _ZTV2C7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C7[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E7x8;
+extern VTBL_ENTRY _ZTI4E7x8[];
+extern VTBL_ENTRY _ZTV4E7x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x8y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E7x8, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(64,40), //bcp->offset
+ 17, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x8y3[];
+extern void _ZN4E7x83fooEv();
+extern void ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x8y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x8y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x8y3[0]),
+ (VTBL_ENTRY)&_ZN4E7x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G7x8y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x8y3[];
+extern void _ZN4E7x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x8__6G7x8y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&_ZN4E7x83fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x8__6G7x8y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x8__6G7x8y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__4E7x8__6G7x8y3[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv),
+};
+static VTT_ENTRY vtt_G7x8y3[] = {
+ {&(_ZTV6G7x8y3[5]), 5,21},
+ {&(_ZTV6G7x8y3[9]), 9,21},
+ {&(_ZTV6G7x8y3[16]), 16,21},
+ {&(_ZTV6G7x8y3[12]), 12,21},
+ {&(_ZTV6G7x8y3[20]), 20,21},
+ {&(_tg__ZTV4E7x8__6G7x8y3[3]), 3,4},
+ {&(_tg__ZTV2C74E7x8__6G7x8y3[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x8__6G7x8y3[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x8__6G7x8y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x8y3[];
+extern VTBL_ENTRY _ZTV6G7x8y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x8y3[];
+static VTBL_ENTRY alt_thunk_names21[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G7x8y3 = { "G7x8y3", // class name
+ bases_G7x8y3, 6,
+ &(vtc_G7x8y3[0]), // expected_vtbl_contents
+ &(vtt_G7x8y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G7x8y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x8y3),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x8y3),9, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names21,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G7x8y4 : E7x8 , F0 {
+ int ff;
+ ~G7x8y4(); // tgen
+ G7x8y4(); // tgen
+};
+//SIG(1 G7x8y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G7x8y4 ::~G7x8y4(){ note_dtor("G7x8y4", this);} // tgen
+G7x8y4 ::G7x8y4(){ note_ctor("G7x8y4", this);} // tgen
+
+static void Test_G7x8y4()
+{
+ extern Class_Descriptor cd_G7x8y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x8y4, buf);
+ G7x8y4 *dp, &lv = *(dp=new (buf) G7x8y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x8y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x8y4)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x8*), ABISELECT(40,32), "G7x8y4");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x8*), 0, "G7x8y4");
+ check_base_class_offset(lv, (C7*)(E7x8*), 0, "G7x8y4");
+ check_base_class_offset(lv, (D1*)(E7x8*), ABISELECT(16,12), "G7x8y4");
+ check_base_class_offset(lv, (E7x8*), 0, "G7x8y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G7x8y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G7x8y4.ff");
+ test_class_info(&lv, &cd_G7x8y4);
+ dp->~G7x8y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x8y4(Test_G7x8y4, "G7x8y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x8y4C1Ev();
+extern void _ZN6G7x8y4D1Ev();
+Name_Map name_map_G7x8y4[] = {
+ NSPAIR(_ZN6G7x8y4C1Ev),
+ NSPAIR(_ZN6G7x8y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C7;
+extern VTBL_ENTRY _ZTI2C7[];
+extern VTBL_ENTRY _ZTV2C7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C7[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E7x8;
+extern VTBL_ENTRY _ZTI4E7x8[];
+extern VTBL_ENTRY _ZTV4E7x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x8y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,32), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E7x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(32,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x8y4[];
+extern void _ZN4E7x83fooEv();
+extern void ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv)();
+extern void ABISELECT(_ZThn40_N4E7x83fooEv,_ZThn32_N4E7x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G7x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x8y4[0]),
+ (VTBL_ENTRY)&_ZN4E7x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv),
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G7x8y4[];
+extern void _ZN4E7x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x8__6G7x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&_ZN4E7x83fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x8__6G7x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x8__6G7x8y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv)();
+extern void ABISELECT(_ZThn40_N4E7x83fooEv,_ZThn32_N4E7x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__4E7x8__6G7x8y4[] = {
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv),
+};
+static VTT_ENTRY vtt_G7x8y4[] = {
+ {&(_ZTV6G7x8y4[3]), 3,11},
+ {&(_tg__ZTV4E7x8__6G7x8y4[3]), 3,4},
+ {&(_tg__ZTV2C74E7x8__6G7x8y4[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x8__6G7x8y4[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x8__6G7x8y4[3]), 3,4},
+ {&(_ZTV6G7x8y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G7x8y4[];
+extern VTBL_ENTRY _ZTV6G7x8y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x8y4[];
+static VTBL_ENTRY alt_thunk_names22[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N4E7x83fooEv,_ZThn32_N4E7x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N4E7x83fooEv,_ZThn32_N4E7x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G7x8y4 = { "G7x8y4", // class name
+ bases_G7x8y4, 6,
+ &(vtc_G7x8y4[0]), // expected_vtbl_contents
+ &(vtt_G7x8y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x8y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x8y4),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x8y4),6, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names22,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G7x8y5 : virtual E7x8 , F0 {
+ int ff;
+ ~G7x8y5(); // tgen
+ G7x8y5(); // tgen
+};
+//SIG(1 G7x8y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G7x8y5 ::~G7x8y5(){ note_dtor("G7x8y5", this);} // tgen
+G7x8y5 ::G7x8y5(){ note_ctor("G7x8y5", this);} // tgen
+
+static void Test_G7x8y5()
+{
+ extern Class_Descriptor cd_G7x8y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x8y5, buf);
+ G7x8y5 *dp, &lv = *(dp=new (buf) G7x8y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x8y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x8y5)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x8*), ABISELECT(48,36), "G7x8y5");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x8*), ABISELECT(16,12), "G7x8y5");
+ check_base_class_offset(lv, (C7*)(E7x8*), ABISELECT(16,12), "G7x8y5");
+ check_base_class_offset(lv, (D1*)(E7x8*), ABISELECT(32,24), "G7x8y5");
+ check_base_class_offset(lv, (E7x8*), ABISELECT(16,12), "G7x8y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G7x8y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x8y5.ff");
+ test_class_info(&lv, &cd_G7x8y5);
+ dp->~G7x8y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x8y5(Test_G7x8y5, "G7x8y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x8y5C1Ev();
+extern void _ZN6G7x8y5D1Ev();
+Name_Map name_map_G7x8y5[] = {
+ NSPAIR(_ZN6G7x8y5C1Ev),
+ NSPAIR(_ZN6G7x8y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C7;
+extern VTBL_ENTRY _ZTI2C7[];
+extern VTBL_ENTRY _ZTV2C7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C7[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E7x8;
+extern VTBL_ENTRY _ZTI4E7x8[];
+extern VTBL_ENTRY _ZTV4E7x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x8y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,36), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E7x8, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x8y5[];
+extern void _ZN4E7x83fooEv();
+extern void ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G7x8y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x8y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x8y5[0]),
+ (VTBL_ENTRY)&_ZN4E7x83fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G7x8y5[];
+extern void _ZN4E7x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x8__6G7x8y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&_ZN4E7x83fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x8__6G7x8y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x8__6G7x8y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__4E7x8__6G7x8y5[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv),
+};
+static VTT_ENTRY vtt_G7x8y5[] = {
+ {&(_ZTV6G7x8y5[4]), 4,16},
+ {&(_ZTV6G7x8y5[8]), 8,16},
+ {&(_ZTV6G7x8y5[15]), 15,16},
+ {&(_ZTV6G7x8y5[11]), 11,16},
+ {&(_tg__ZTV4E7x8__6G7x8y5[3]), 3,4},
+ {&(_tg__ZTV2C74E7x8__6G7x8y5[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x8__6G7x8y5[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x8__6G7x8y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x8y5[];
+extern VTBL_ENTRY _ZTV6G7x8y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x8y5[];
+static VTBL_ENTRY alt_thunk_names23[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G7x8y5 = { "G7x8y5", // class name
+ bases_G7x8y5, 6,
+ &(vtc_G7x8y5[0]), // expected_vtbl_contents
+ &(vtt_G7x8y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x8y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x8y5),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x8y5),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names23,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G7x8y6 : E7x8 , virtual F0 {
+ int ff;
+ ~G7x8y6(); // tgen
+ G7x8y6(); // tgen
+};
+//SIG(1 G7x8y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G7x8y6 ::~G7x8y6(){ note_dtor("G7x8y6", this);} // tgen
+G7x8y6 ::G7x8y6(){ note_ctor("G7x8y6", this);} // tgen
+
+static void Test_G7x8y6()
+{
+ extern Class_Descriptor cd_G7x8y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x8y6, buf);
+ G7x8y6 *dp, &lv = *(dp=new (buf) G7x8y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x8y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x8y6)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x8*), ABISELECT(40,28), "G7x8y6");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x8*), 0, "G7x8y6");
+ check_base_class_offset(lv, (C7*)(E7x8*), 0, "G7x8y6");
+ check_base_class_offset(lv, (D1*)(E7x8*), ABISELECT(16,12), "G7x8y6");
+ check_base_class_offset(lv, (E7x8*), 0, "G7x8y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G7x8y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G7x8y6.ff");
+ test_class_info(&lv, &cd_G7x8y6);
+ dp->~G7x8y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x8y6(Test_G7x8y6, "G7x8y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x8y6C1Ev();
+extern void _ZN6G7x8y6D1Ev();
+Name_Map name_map_G7x8y6[] = {
+ NSPAIR(_ZN6G7x8y6C1Ev),
+ NSPAIR(_ZN6G7x8y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C7;
+extern VTBL_ENTRY _ZTI2C7[];
+extern VTBL_ENTRY _ZTV2C7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C7[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E7x8;
+extern VTBL_ENTRY _ZTI4E7x8[];
+extern VTBL_ENTRY _ZTV4E7x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x8y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E7x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(52,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x8y6[];
+extern void _ZN4E7x83fooEv();
+extern void ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv)();
+extern void ABISELECT(_ZThn40_N4E7x83fooEv,_ZThn28_N4E7x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G7x8y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x8y6[0]),
+ (VTBL_ENTRY)&_ZN4E7x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv),
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G7x8y6[];
+extern void _ZN4E7x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x8__6G7x8y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&_ZN4E7x83fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x8__6G7x8y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x8__6G7x8y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv)();
+extern void ABISELECT(_ZThn40_N4E7x83fooEv,_ZThn28_N4E7x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__4E7x8__6G7x8y6[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv),
+};
+static VTT_ENTRY vtt_G7x8y6[] = {
+ {&(_ZTV6G7x8y6[4]), 4,12},
+ {&(_tg__ZTV4E7x8__6G7x8y6[3]), 3,4},
+ {&(_tg__ZTV2C74E7x8__6G7x8y6[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x8__6G7x8y6[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x8__6G7x8y6[3]), 3,4},
+ {&(_ZTV6G7x8y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G7x8y6[];
+extern VTBL_ENTRY _ZTV6G7x8y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x8y6[];
+static VTBL_ENTRY alt_thunk_names24[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N4E7x83fooEv,_ZThn28_N4E7x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N4E7x83fooEv,_ZThn28_N4E7x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G7x8y6 = { "G7x8y6", // class name
+ bases_G7x8y6, 6,
+ &(vtc_G7x8y6[0]), // expected_vtbl_contents
+ &(vtt_G7x8y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x8y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x8y6),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x8y6),6, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names24,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G7x8y7 : virtual E7x8 , virtual F0 {
+ int ff;
+ ~G7x8y7(); // tgen
+ G7x8y7(); // tgen
+};
+//SIG(1 G7x8y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G7x8y7 ::~G7x8y7(){ note_dtor("G7x8y7", this);} // tgen
+G7x8y7 ::G7x8y7(){ note_ctor("G7x8y7", this);} // tgen
+
+static void Test_G7x8y7()
+{
+ extern Class_Descriptor cd_G7x8y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x8y7, buf);
+ G7x8y7 *dp, &lv = *(dp=new (buf) G7x8y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x8y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x8y7)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x8*), ABISELECT(48,32), "G7x8y7");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x8*), ABISELECT(16,8), "G7x8y7");
+ check_base_class_offset(lv, (C7*)(E7x8*), ABISELECT(16,8), "G7x8y7");
+ check_base_class_offset(lv, (D1*)(E7x8*), ABISELECT(32,20), "G7x8y7");
+ check_base_class_offset(lv, (E7x8*), ABISELECT(16,8), "G7x8y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G7x8y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x8y7.ff");
+ test_class_info(&lv, &cd_G7x8y7);
+ dp->~G7x8y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x8y7(Test_G7x8y7, "G7x8y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x8y7C1Ev();
+extern void _ZN6G7x8y7D1Ev();
+Name_Map name_map_G7x8y7[] = {
+ NSPAIR(_ZN6G7x8y7C1Ev),
+ NSPAIR(_ZN6G7x8y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C7;
+extern VTBL_ENTRY _ZTI2C7[];
+extern VTBL_ENTRY _ZTV2C7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C7[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E7x8;
+extern VTBL_ENTRY _ZTI4E7x8[];
+extern VTBL_ENTRY _ZTV4E7x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x8y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E7x8, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(60,40), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x8y7[];
+extern void _ZN4E7x83fooEv();
+extern void ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G7x8y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x8y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x8y7[0]),
+ (VTBL_ENTRY)&_ZN4E7x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E7x83fooEv,_ZThn12_N4E7x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G7x8y7[];
+extern void _ZN4E7x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x8__6G7x8y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&_ZN4E7x83fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x8__6G7x8y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x8__6G7x8y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv)();
+extern void ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__4E7x8__6G7x8y7[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv),
+};
+static VTT_ENTRY vtt_G7x8y7[] = {
+ {&(_ZTV6G7x8y7[5]), 5,17},
+ {&(_ZTV6G7x8y7[9]), 9,17},
+ {&(_ZTV6G7x8y7[16]), 16,17},
+ {&(_ZTV6G7x8y7[12]), 12,17},
+ {&(_tg__ZTV4E7x8__6G7x8y7[3]), 3,4},
+ {&(_tg__ZTV2C74E7x8__6G7x8y7[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x8__6G7x8y7[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x8__6G7x8y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x8y7[];
+extern VTBL_ENTRY _ZTV6G7x8y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x8y7[];
+static VTBL_ENTRY alt_thunk_names25[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N4E7x83fooEv,_ZTv0_n12_N4E7x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N4E7x83fooEv,_ZThn24_N4E7x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G7x8y7 = { "G7x8y7", // class name
+ bases_G7x8y7, 6,
+ &(vtc_G7x8y7[0]), // expected_vtbl_contents
+ &(vtt_G7x8y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x8y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x8y7),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x8y7),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names25,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E8x8 : C8 , D1 {
+ int fd;
+ virtual void foo(); // _ZN4E8x83fooEv
+ ~E8x8(); // tgen
+ E8x8(); // tgen
+};
+//SIG(-1 E8x8) C1{ BC2{ BC3{ Fi} VBC4{ Fi} Fi} BC5{ v1 Fi} v1 Fi}
+
+
+void E8x8 ::foo(){vfunc_called(this, "_ZN4E8x83fooEv");}
+E8x8 ::~E8x8(){ note_dtor("E8x8", this);} // tgen
+E8x8 ::E8x8(){ note_ctor("E8x8", this);} // tgen
+
+static void Test_E8x8()
+{
+ extern Class_Descriptor cd_E8x8;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E8x8, buf);
+ E8x8 *dp, &lv = *(dp=new (buf) E8x8());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E8x8)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E8x8)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(8,4), "E8x8");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(32,24), "E8x8");
+ check_base_class_offset(lv, (C8*), 0, "E8x8");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E8x8");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E8x8.fd");
+ test_class_info(&lv, &cd_E8x8);
+ dp->~E8x8();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE8x8(Test_E8x8, "E8x8", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E8x8C1Ev();
+extern void _ZN4E8x8D1Ev();
+Name_Map name_map_E8x8[] = {
+ NSPAIR(_ZN4E8x8C1Ev),
+ NSPAIR(_ZN4E8x8D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C8;
+extern VTBL_ENTRY _ZTI2C8[];
+extern VTBL_ENTRY _ZTV2C8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C8[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E8x8[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(32,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E8x8[];
+extern void _ZN4E8x83fooEv();
+extern void ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv)();
+static VTBL_ENTRY vtc_E8x8[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x8[0]),
+ (VTBL_ENTRY)&_ZN4E8x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E8x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv),
+};
+extern VTBL_ENTRY _ZTV4E8x8[];
+static VTBL_ENTRY _tg__ZTV2C8__4E8x8[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_E8x8[] = {
+ {&(_ZTV4E8x8[3]), 3,7},
+ {&(_tg__ZTV2C8__4E8x8[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E8x8[];
+extern VTBL_ENTRY _ZTV4E8x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x8[];
+Class_Descriptor cd_E8x8 = { "E8x8", // class name
+ bases_E8x8, 4,
+ &(vtc_E8x8[0]), // expected_vtbl_contents
+ &(vtt_E8x8[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E8x8),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E8x8),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E8x8),2, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G8x8y0 : E8x8 , F1 {
+ int ff;
+ ~G8x8y0(); // tgen
+ G8x8y0(); // tgen
+};
+//SIG(1 G8x8y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G8x8y0 ::~G8x8y0(){ note_dtor("G8x8y0", this);} // tgen
+G8x8y0 ::G8x8y0(){ note_ctor("G8x8y0", this);} // tgen
+
+static void Test_G8x8y0()
+{
+ extern Class_Descriptor cd_G8x8y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x8y0, buf);
+ G8x8y0 *dp, &lv = *(dp=new (buf) G8x8y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x8y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x8y0)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x8*), ABISELECT(8,4), "G8x8y0");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x8*), ABISELECT(48,36), "G8x8y0");
+ check_base_class_offset(lv, (C8*)(E8x8*), 0, "G8x8y0");
+ check_base_class_offset(lv, (D1*)(E8x8*), ABISELECT(16,12), "G8x8y0");
+ check_base_class_offset(lv, (E8x8*), 0, "G8x8y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G8x8y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G8x8y0.ff");
+ test_class_info(&lv, &cd_G8x8y0);
+ dp->~G8x8y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x8y0(Test_G8x8y0, "G8x8y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x8y0C1Ev();
+extern void _ZN6G8x8y0D1Ev();
+Name_Map name_map_G8x8y0[] = {
+ NSPAIR(_ZN6G8x8y0C1Ev),
+ NSPAIR(_ZN6G8x8y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C8;
+extern VTBL_ENTRY _ZTI2C8[];
+extern VTBL_ENTRY _ZTV2C8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C8[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E8x8;
+extern VTBL_ENTRY _ZTI4E8x8[];
+extern VTBL_ENTRY _ZTV4E8x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x8y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(48,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E8x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(32,24), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x8y0[];
+extern void _ZN4E8x83fooEv();
+extern void ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x8y0[0]),
+ (VTBL_ENTRY)&_ZN4E8x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G8x8y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x8y0[];
+extern void _ZN4E8x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E8x8__6G8x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x8[0]),
+ (VTBL_ENTRY)&_ZN4E8x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x8__6G8x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x8y0[] = {
+ {&(_ZTV6G8x8y0[3]), 3,10},
+ {&(_tg__ZTV4E8x8__6G8x8y0[3]), 3,4},
+ {&(_tg__ZTV2C84E8x8__6G8x8y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x8y0[];
+extern VTBL_ENTRY _ZTV6G8x8y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x8y0[];
+Class_Descriptor cd_G8x8y0 = { "G8x8y0", // class name
+ bases_G8x8y0, 6,
+ &(vtc_G8x8y0[0]), // expected_vtbl_contents
+ &(vtt_G8x8y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x8y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x8y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x8y0),3, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G8x8y1 : virtual E8x8 , F1 {
+ int ff;
+ ~G8x8y1(); // tgen
+ G8x8y1(); // tgen
+};
+//SIG(1 G8x8y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G8x8y1 ::~G8x8y1(){ note_dtor("G8x8y1", this);} // tgen
+G8x8y1 ::G8x8y1(){ note_ctor("G8x8y1", this);} // tgen
+
+static void Test_G8x8y1()
+{
+ extern Class_Descriptor cd_G8x8y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x8y1, buf);
+ G8x8y1 *dp, &lv = *(dp=new (buf) G8x8y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x8y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x8y1)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x8*), ABISELECT(24,16), "G8x8y1");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x8*), ABISELECT(48,36), "G8x8y1");
+ check_base_class_offset(lv, (C8*)(E8x8*), ABISELECT(16,12), "G8x8y1");
+ check_base_class_offset(lv, (D1*)(E8x8*), ABISELECT(32,24), "G8x8y1");
+ check_base_class_offset(lv, (E8x8*), ABISELECT(16,12), "G8x8y1");
+ check_base_class_offset(lv, (F1*), 0, "G8x8y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x8y1.ff");
+ test_class_info(&lv, &cd_G8x8y1);
+ dp->~G8x8y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x8y1(Test_G8x8y1, "G8x8y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x8y1C1Ev();
+extern void _ZN6G8x8y1D1Ev();
+Name_Map name_map_G8x8y1[] = {
+ NSPAIR(_ZN6G8x8y1C1Ev),
+ NSPAIR(_ZN6G8x8y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C8;
+extern VTBL_ENTRY _ZTI2C8[];
+extern VTBL_ENTRY _ZTV2C8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C8[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E8x8;
+extern VTBL_ENTRY _ZTI4E8x8[];
+extern VTBL_ENTRY _ZTV4E8x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x8y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(48,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C8, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E8x8, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x8y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN4E8x83fooEv();
+extern void ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv)();
+static VTBL_ENTRY vtc_G8x8y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x8y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x8y1[0]),
+ (VTBL_ENTRY)&_ZN4E8x83fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G8x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G8x8y1[];
+extern void _ZN4E8x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E8x8__6G8x8y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x8[0]),
+ (VTBL_ENTRY)&_ZN4E8x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x8__6G8x8y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x8y1[] = {
+ {&(_ZTV6G8x8y1[4]), 4,13},
+ {&(_ZTV6G8x8y1[9]), 9,13},
+ {&(_ZTV6G8x8y1[12]), 12,13},
+ {&(_tg__ZTV4E8x8__6G8x8y1[3]), 3,4},
+ {&(_tg__ZTV2C84E8x8__6G8x8y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x8y1[];
+extern VTBL_ENTRY _ZTV6G8x8y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x8y1[];
+Class_Descriptor cd_G8x8y1 = { "G8x8y1", // class name
+ bases_G8x8y1, 6,
+ &(vtc_G8x8y1[0]), // expected_vtbl_contents
+ &(vtt_G8x8y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x8y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x8y1),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x8y1),5, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G8x8y2 : E8x8 , virtual F1 {
+ int ff;
+ ~G8x8y2(); // tgen
+ G8x8y2(); // tgen
+};
+//SIG(1 G8x8y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G8x8y2 ::~G8x8y2(){ note_dtor("G8x8y2", this);} // tgen
+G8x8y2 ::G8x8y2(){ note_ctor("G8x8y2", this);} // tgen
+
+static void Test_G8x8y2()
+{
+ extern Class_Descriptor cd_G8x8y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x8y2, buf);
+ G8x8y2 *dp, &lv = *(dp=new (buf) G8x8y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x8y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x8y2)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x8*), ABISELECT(8,4), "G8x8y2");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x8*), ABISELECT(36,28), "G8x8y2");
+ check_base_class_offset(lv, (C8*)(E8x8*), 0, "G8x8y2");
+ check_base_class_offset(lv, (D1*)(E8x8*), ABISELECT(16,12), "G8x8y2");
+ check_base_class_offset(lv, (E8x8*), 0, "G8x8y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G8x8y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G8x8y2.ff");
+ test_class_info(&lv, &cd_G8x8y2);
+ dp->~G8x8y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x8y2(Test_G8x8y2, "G8x8y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x8y2C1Ev();
+extern void _ZN6G8x8y2D1Ev();
+Name_Map name_map_G8x8y2[] = {
+ NSPAIR(_ZN6G8x8y2C1Ev),
+ NSPAIR(_ZN6G8x8y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C8;
+extern VTBL_ENTRY _ZTI2C8[];
+extern VTBL_ENTRY _ZTV2C8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C8[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E8x8;
+extern VTBL_ENTRY _ZTI4E8x8[];
+extern VTBL_ENTRY _ZTV4E8x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x8y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(36,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E8x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(40,32), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x8y2[];
+extern void _ZN4E8x83fooEv();
+extern void ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x8y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x8y2[0]),
+ (VTBL_ENTRY)&_ZN4E8x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G8x8y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x8y2[];
+extern void _ZN4E8x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E8x8__6G8x8y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x8[0]),
+ (VTBL_ENTRY)&_ZN4E8x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x8__6G8x8y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x8y2[] = {
+ {&(_ZTV6G8x8y2[4]), 4,12},
+ {&(_tg__ZTV4E8x8__6G8x8y2[3]), 3,4},
+ {&(_tg__ZTV2C84E8x8__6G8x8y2[3]), 3,3},
+ {&(_ZTV6G8x8y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G8x8y2[];
+extern VTBL_ENTRY _ZTV6G8x8y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x8y2[];
+Class_Descriptor cd_G8x8y2 = { "G8x8y2", // class name
+ bases_G8x8y2, 6,
+ &(vtc_G8x8y2[0]), // expected_vtbl_contents
+ &(vtt_G8x8y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x8y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x8y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x8y2),4, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G8x8y3 : virtual E8x8 , virtual F1 {
+ int ff;
+ ~G8x8y3(); // tgen
+ G8x8y3(); // tgen
+};
+//SIG(1 G8x8y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G8x8y3 ::~G8x8y3(){ note_dtor("G8x8y3", this);} // tgen
+G8x8y3 ::G8x8y3(){ note_ctor("G8x8y3", this);} // tgen
+
+static void Test_G8x8y3()
+{
+ extern Class_Descriptor cd_G8x8y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G8x8y3, buf);
+ G8x8y3 *dp, &lv = *(dp=new (buf) G8x8y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G8x8y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x8y3)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x8*), ABISELECT(24,12), "G8x8y3");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x8*), ABISELECT(48,32), "G8x8y3");
+ check_base_class_offset(lv, (C8*)(E8x8*), ABISELECT(16,8), "G8x8y3");
+ check_base_class_offset(lv, (D1*)(E8x8*), ABISELECT(32,20), "G8x8y3");
+ check_base_class_offset(lv, (E8x8*), ABISELECT(16,8), "G8x8y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G8x8y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x8y3.ff");
+ test_class_info(&lv, &cd_G8x8y3);
+ dp->~G8x8y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x8y3(Test_G8x8y3, "G8x8y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G8x8y3C1Ev();
+extern void _ZN6G8x8y3D1Ev();
+Name_Map name_map_G8x8y3[] = {
+ NSPAIR(_ZN6G8x8y3C1Ev),
+ NSPAIR(_ZN6G8x8y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C8;
+extern VTBL_ENTRY _ZTI2C8[];
+extern VTBL_ENTRY _ZTV2C8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C8[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E8x8;
+extern VTBL_ENTRY _ZTI4E8x8[];
+extern VTBL_ENTRY _ZTV4E8x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x8y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(48,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C8, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E8x8, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x8y3[];
+extern void _ZN4E8x83fooEv();
+extern void ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x8y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x8y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x8y3[0]),
+ (VTBL_ENTRY)&_ZN4E8x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G8x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G8x8y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x8y3[];
+extern void _ZN4E8x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E8x8__6G8x8y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x8[0]),
+ (VTBL_ENTRY)&_ZN4E8x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x8__6G8x8y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x8y3[] = {
+ {&(_ZTV6G8x8y3[5]), 5,17},
+ {&(_ZTV6G8x8y3[9]), 9,17},
+ {&(_ZTV6G8x8y3[12]), 12,17},
+ {&(_ZTV6G8x8y3[16]), 16,17},
+ {&(_tg__ZTV4E8x8__6G8x8y3[3]), 3,4},
+ {&(_tg__ZTV2C84E8x8__6G8x8y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x8y3[];
+extern VTBL_ENTRY _ZTV6G8x8y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x8y3[];
+Class_Descriptor cd_G8x8y3 = { "G8x8y3", // class name
+ bases_G8x8y3, 6,
+ &(vtc_G8x8y3[0]), // expected_vtbl_contents
+ &(vtt_G8x8y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G8x8y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x8y3),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x8y3),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G8x8y4 : E8x8 , F0 {
+ int ff;
+ ~G8x8y4(); // tgen
+ G8x8y4(); // tgen
+};
+//SIG(1 G8x8y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G8x8y4 ::~G8x8y4(){ note_dtor("G8x8y4", this);} // tgen
+G8x8y4 ::G8x8y4(){ note_ctor("G8x8y4", this);} // tgen
+
+static void Test_G8x8y4()
+{
+ extern Class_Descriptor cd_G8x8y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x8y4, buf);
+ G8x8y4 *dp, &lv = *(dp=new (buf) G8x8y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x8y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x8y4)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x8*), ABISELECT(8,4), "G8x8y4");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x8*), ABISELECT(40,32), "G8x8y4");
+ check_base_class_offset(lv, (C8*)(E8x8*), 0, "G8x8y4");
+ check_base_class_offset(lv, (D1*)(E8x8*), ABISELECT(16,12), "G8x8y4");
+ check_base_class_offset(lv, (E8x8*), 0, "G8x8y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G8x8y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G8x8y4.ff");
+ test_class_info(&lv, &cd_G8x8y4);
+ dp->~G8x8y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x8y4(Test_G8x8y4, "G8x8y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x8y4C1Ev();
+extern void _ZN6G8x8y4D1Ev();
+Name_Map name_map_G8x8y4[] = {
+ NSPAIR(_ZN6G8x8y4C1Ev),
+ NSPAIR(_ZN6G8x8y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C8;
+extern VTBL_ENTRY _ZTI2C8[];
+extern VTBL_ENTRY _ZTV2C8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C8[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E8x8;
+extern VTBL_ENTRY _ZTI4E8x8[];
+extern VTBL_ENTRY _ZTV4E8x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x8y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(40,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E8x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(32,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x8y4[];
+extern void _ZN4E8x83fooEv();
+extern void ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv)();
+static VTBL_ENTRY vtc_G8x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x8y4[0]),
+ (VTBL_ENTRY)&_ZN4E8x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G8x8y4[];
+extern void _ZN4E8x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E8x8__6G8x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x8[0]),
+ (VTBL_ENTRY)&_ZN4E8x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x8__6G8x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x8y4[] = {
+ {&(_ZTV6G8x8y4[3]), 3,7},
+ {&(_tg__ZTV4E8x8__6G8x8y4[3]), 3,4},
+ {&(_tg__ZTV2C84E8x8__6G8x8y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x8y4[];
+extern VTBL_ENTRY _ZTV6G8x8y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x8y4[];
+Class_Descriptor cd_G8x8y4 = { "G8x8y4", // class name
+ bases_G8x8y4, 6,
+ &(vtc_G8x8y4[0]), // expected_vtbl_contents
+ &(vtt_G8x8y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x8y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x8y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x8y4),3, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G8x8y5 : virtual E8x8 , F0 {
+ int ff;
+ ~G8x8y5(); // tgen
+ G8x8y5(); // tgen
+};
+//SIG(1 G8x8y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G8x8y5 ::~G8x8y5(){ note_dtor("G8x8y5", this);} // tgen
+G8x8y5 ::G8x8y5(){ note_ctor("G8x8y5", this);} // tgen
+
+static void Test_G8x8y5()
+{
+ extern Class_Descriptor cd_G8x8y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x8y5, buf);
+ G8x8y5 *dp, &lv = *(dp=new (buf) G8x8y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x8y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x8y5)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x8*), ABISELECT(24,16), "G8x8y5");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x8*), ABISELECT(48,36), "G8x8y5");
+ check_base_class_offset(lv, (C8*)(E8x8*), ABISELECT(16,12), "G8x8y5");
+ check_base_class_offset(lv, (D1*)(E8x8*), ABISELECT(32,24), "G8x8y5");
+ check_base_class_offset(lv, (E8x8*), ABISELECT(16,12), "G8x8y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G8x8y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x8y5.ff");
+ test_class_info(&lv, &cd_G8x8y5);
+ dp->~G8x8y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x8y5(Test_G8x8y5, "G8x8y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x8y5C1Ev();
+extern void _ZN6G8x8y5D1Ev();
+Name_Map name_map_G8x8y5[] = {
+ NSPAIR(_ZN6G8x8y5C1Ev),
+ NSPAIR(_ZN6G8x8y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C8;
+extern VTBL_ENTRY _ZTI2C8[];
+extern VTBL_ENTRY _ZTV2C8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C8[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E8x8;
+extern VTBL_ENTRY _ZTI4E8x8[];
+extern VTBL_ENTRY _ZTV4E8x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x8y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(48,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C8, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E8x8, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x8y5[];
+extern void _ZN4E8x83fooEv();
+extern void ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv)();
+static VTBL_ENTRY vtc_G8x8y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x8y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x8y5[0]),
+ (VTBL_ENTRY)&_ZN4E8x83fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G8x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G8x8y5[];
+extern void _ZN4E8x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E8x8__6G8x8y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x8[0]),
+ (VTBL_ENTRY)&_ZN4E8x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x8__6G8x8y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x8y5[] = {
+ {&(_ZTV6G8x8y5[4]), 4,12},
+ {&(_ZTV6G8x8y5[8]), 8,12},
+ {&(_ZTV6G8x8y5[11]), 11,12},
+ {&(_tg__ZTV4E8x8__6G8x8y5[3]), 3,4},
+ {&(_tg__ZTV2C84E8x8__6G8x8y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x8y5[];
+extern VTBL_ENTRY _ZTV6G8x8y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x8y5[];
+Class_Descriptor cd_G8x8y5 = { "G8x8y5", // class name
+ bases_G8x8y5, 6,
+ &(vtc_G8x8y5[0]), // expected_vtbl_contents
+ &(vtt_G8x8y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x8y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x8y5),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x8y5),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G8x8y6 : E8x8 , virtual F0 {
+ int ff;
+ ~G8x8y6(); // tgen
+ G8x8y6(); // tgen
+};
+//SIG(1 G8x8y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G8x8y6 ::~G8x8y6(){ note_dtor("G8x8y6", this);} // tgen
+G8x8y6 ::G8x8y6(){ note_ctor("G8x8y6", this);} // tgen
+
+static void Test_G8x8y6()
+{
+ extern Class_Descriptor cd_G8x8y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x8y6, buf);
+ G8x8y6 *dp, &lv = *(dp=new (buf) G8x8y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x8y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x8y6)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x8*), ABISELECT(8,4), "G8x8y6");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x8*), ABISELECT(36,28), "G8x8y6");
+ check_base_class_offset(lv, (C8*)(E8x8*), 0, "G8x8y6");
+ check_base_class_offset(lv, (D1*)(E8x8*), ABISELECT(16,12), "G8x8y6");
+ check_base_class_offset(lv, (E8x8*), 0, "G8x8y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G8x8y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G8x8y6.ff");
+ test_class_info(&lv, &cd_G8x8y6);
+ dp->~G8x8y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x8y6(Test_G8x8y6, "G8x8y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x8y6C1Ev();
+extern void _ZN6G8x8y6D1Ev();
+Name_Map name_map_G8x8y6[] = {
+ NSPAIR(_ZN6G8x8y6C1Ev),
+ NSPAIR(_ZN6G8x8y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C8;
+extern VTBL_ENTRY _ZTI2C8[];
+extern VTBL_ENTRY _ZTV2C8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C8[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E8x8;
+extern VTBL_ENTRY _ZTI4E8x8[];
+extern VTBL_ENTRY _ZTV4E8x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x8y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(36,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E8x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(40,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x8y6[];
+extern void _ZN4E8x83fooEv();
+extern void ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv)();
+static VTBL_ENTRY vtc_G8x8y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x8y6[0]),
+ (VTBL_ENTRY)&_ZN4E8x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G8x8y6[];
+extern void _ZN4E8x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E8x8__6G8x8y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x8[0]),
+ (VTBL_ENTRY)&_ZN4E8x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x8__6G8x8y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x8y6[] = {
+ {&(_ZTV6G8x8y6[4]), 4,8},
+ {&(_tg__ZTV4E8x8__6G8x8y6[3]), 3,4},
+ {&(_tg__ZTV2C84E8x8__6G8x8y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x8y6[];
+extern VTBL_ENTRY _ZTV6G8x8y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x8y6[];
+Class_Descriptor cd_G8x8y6 = { "G8x8y6", // class name
+ bases_G8x8y6, 6,
+ &(vtc_G8x8y6[0]), // expected_vtbl_contents
+ &(vtt_G8x8y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x8y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x8y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x8y6),3, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G8x8y7 : virtual E8x8 , virtual F0 {
+ int ff;
+ ~G8x8y7(); // tgen
+ G8x8y7(); // tgen
+};
+//SIG(1 G8x8y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G8x8y7 ::~G8x8y7(){ note_dtor("G8x8y7", this);} // tgen
+G8x8y7 ::G8x8y7(){ note_ctor("G8x8y7", this);} // tgen
+
+static void Test_G8x8y7()
+{
+ extern Class_Descriptor cd_G8x8y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x8y7, buf);
+ G8x8y7 *dp, &lv = *(dp=new (buf) G8x8y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x8y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x8y7)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x8*), ABISELECT(24,12), "G8x8y7");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x8*), ABISELECT(48,32), "G8x8y7");
+ check_base_class_offset(lv, (C8*)(E8x8*), ABISELECT(16,8), "G8x8y7");
+ check_base_class_offset(lv, (D1*)(E8x8*), ABISELECT(32,20), "G8x8y7");
+ check_base_class_offset(lv, (E8x8*), ABISELECT(16,8), "G8x8y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G8x8y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x8y7.ff");
+ test_class_info(&lv, &cd_G8x8y7);
+ dp->~G8x8y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x8y7(Test_G8x8y7, "G8x8y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x8y7C1Ev();
+extern void _ZN6G8x8y7D1Ev();
+Name_Map name_map_G8x8y7[] = {
+ NSPAIR(_ZN6G8x8y7C1Ev),
+ NSPAIR(_ZN6G8x8y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C8;
+extern VTBL_ENTRY _ZTI2C8[];
+extern VTBL_ENTRY _ZTV2C8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C8[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E8x8;
+extern VTBL_ENTRY _ZTI4E8x8[];
+extern VTBL_ENTRY _ZTV4E8x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x8y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(48,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C8, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E8x8, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(52,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x8y7[];
+extern void _ZN4E8x83fooEv();
+extern void ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv)();
+static VTBL_ENTRY vtc_G8x8y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x8y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x8y7[0]),
+ (VTBL_ENTRY)&_ZN4E8x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G8x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E8x83fooEv,_ZThn12_N4E8x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G8x8y7[];
+extern void _ZN4E8x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E8x8__6G8x8y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x8[0]),
+ (VTBL_ENTRY)&_ZN4E8x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x8__6G8x8y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x8y7[] = {
+ {&(_ZTV6G8x8y7[5]), 5,13},
+ {&(_ZTV6G8x8y7[9]), 9,13},
+ {&(_ZTV6G8x8y7[12]), 12,13},
+ {&(_tg__ZTV4E8x8__6G8x8y7[3]), 3,4},
+ {&(_tg__ZTV2C84E8x8__6G8x8y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x8y7[];
+extern VTBL_ENTRY _ZTV6G8x8y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x8y7[];
+Class_Descriptor cd_G8x8y7 = { "G8x8y7", // class name
+ bases_G8x8y7, 6,
+ &(vtc_G8x8y7[0]), // expected_vtbl_contents
+ &(vtt_G8x8y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x8y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x8y7),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x8y7),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E9x8 : C9 , D1 {
+ int fd;
+ virtual void foo(); // _ZN4E9x83fooEv
+ ~E9x8(); // tgen
+ E9x8(); // tgen
+};
+//SIG(-1 E9x8) C1{ BC2{ BC3{ v1 Fi} VBC4{ Fi} Fi} BC5{ v1 Fi} v1 Fi}
+
+
+void E9x8 ::foo(){vfunc_called(this, "_ZN4E9x83fooEv");}
+E9x8 ::~E9x8(){ note_dtor("E9x8", this);} // tgen
+E9x8 ::E9x8(){ note_ctor("E9x8", this);} // tgen
+
+static void Test_E9x8()
+{
+ extern Class_Descriptor cd_E9x8;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E9x8, buf);
+ E9x8 *dp, &lv = *(dp=new (buf) E9x8());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E9x8)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E9x8)");
+ check_base_class_offset(lv, (A1*)(C9*), 0, "E9x8");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(32,24), "E9x8");
+ check_base_class_offset(lv, (C9*), 0, "E9x8");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E9x8");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E9x8.fd");
+ test_class_info(&lv, &cd_E9x8);
+ dp->~E9x8();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE9x8(Test_E9x8, "E9x8", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E9x8C1Ev();
+extern void _ZN4E9x8D1Ev();
+Name_Map name_map_E9x8[] = {
+ NSPAIR(_ZN4E9x8C1Ev),
+ NSPAIR(_ZN4E9x8D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C9;
+extern VTBL_ENTRY _ZTI2C9[];
+extern VTBL_ENTRY _ZTV2C9[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C9[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E9x8[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(32,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C9, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E9x8[];
+extern void _ZN4E9x83fooEv();
+extern void ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv)();
+static VTBL_ENTRY vtc_E9x8[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x8[0]),
+ (VTBL_ENTRY)&_ZN4E9x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E9x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv),
+};
+extern VTBL_ENTRY _ZTV4E9x8[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x8[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E9x8[] = {
+ {&(_ZTV4E9x8[3]), 3,7},
+ {&(_tg__ZTV2C9__4E9x8[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E9x8[];
+extern VTBL_ENTRY _ZTV4E9x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x8[];
+Class_Descriptor cd_E9x8 = { "E9x8", // class name
+ bases_E9x8, 4,
+ &(vtc_E9x8[0]), // expected_vtbl_contents
+ &(vtt_E9x8[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E9x8),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E9x8),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E9x8),2, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G9x8y0 : E9x8 , F1 {
+ int ff;
+ ~G9x8y0(); // tgen
+ G9x8y0(); // tgen
+};
+//SIG(1 G9x8y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G9x8y0 ::~G9x8y0(){ note_dtor("G9x8y0", this);} // tgen
+G9x8y0 ::G9x8y0(){ note_ctor("G9x8y0", this);} // tgen
+
+static void Test_G9x8y0()
+{
+ extern Class_Descriptor cd_G9x8y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x8y0, buf);
+ G9x8y0 *dp, &lv = *(dp=new (buf) G9x8y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x8y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x8y0)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x8*), 0, "G9x8y0");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x8*), ABISELECT(48,36), "G9x8y0");
+ check_base_class_offset(lv, (C9*)(E9x8*), 0, "G9x8y0");
+ check_base_class_offset(lv, (D1*)(E9x8*), ABISELECT(16,12), "G9x8y0");
+ check_base_class_offset(lv, (E9x8*), 0, "G9x8y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G9x8y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G9x8y0.ff");
+ test_class_info(&lv, &cd_G9x8y0);
+ dp->~G9x8y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x8y0(Test_G9x8y0, "G9x8y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x8y0C1Ev();
+extern void _ZN6G9x8y0D1Ev();
+Name_Map name_map_G9x8y0[] = {
+ NSPAIR(_ZN6G9x8y0C1Ev),
+ NSPAIR(_ZN6G9x8y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C9;
+extern VTBL_ENTRY _ZTI2C9[];
+extern VTBL_ENTRY _ZTV2C9[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C9[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E9x8;
+extern VTBL_ENTRY _ZTI4E9x8[];
+extern VTBL_ENTRY _ZTV4E9x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x8y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(48,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C9, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E9x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(32,24), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x8y0[];
+extern void _ZN4E9x83fooEv();
+extern void ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x8y0[0]),
+ (VTBL_ENTRY)&_ZN4E9x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G9x8y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x8y0[];
+extern void _ZN4E9x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x8__6G9x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x8[0]),
+ (VTBL_ENTRY)&_ZN4E9x83fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x8__6G9x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x8y0[] = {
+ {&(_ZTV6G9x8y0[3]), 3,10},
+ {&(_tg__ZTV4E9x8__6G9x8y0[3]), 3,4},
+ {&(_tg__ZTV2C94E9x8__6G9x8y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x8y0[];
+extern VTBL_ENTRY _ZTV6G9x8y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x8y0[];
+Class_Descriptor cd_G9x8y0 = { "G9x8y0", // class name
+ bases_G9x8y0, 6,
+ &(vtc_G9x8y0[0]), // expected_vtbl_contents
+ &(vtt_G9x8y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x8y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x8y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x8y0),3, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G9x8y1 : virtual E9x8 , F1 {
+ int ff;
+ ~G9x8y1(); // tgen
+ G9x8y1(); // tgen
+};
+//SIG(1 G9x8y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G9x8y1 ::~G9x8y1(){ note_dtor("G9x8y1", this);} // tgen
+G9x8y1 ::G9x8y1(){ note_ctor("G9x8y1", this);} // tgen
+
+static void Test_G9x8y1()
+{
+ extern Class_Descriptor cd_G9x8y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x8y1, buf);
+ G9x8y1 *dp, &lv = *(dp=new (buf) G9x8y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x8y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x8y1)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x8*), ABISELECT(16,12), "G9x8y1");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x8*), ABISELECT(48,36), "G9x8y1");
+ check_base_class_offset(lv, (C9*)(E9x8*), ABISELECT(16,12), "G9x8y1");
+ check_base_class_offset(lv, (D1*)(E9x8*), ABISELECT(32,24), "G9x8y1");
+ check_base_class_offset(lv, (E9x8*), ABISELECT(16,12), "G9x8y1");
+ check_base_class_offset(lv, (F1*), 0, "G9x8y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x8y1.ff");
+ test_class_info(&lv, &cd_G9x8y1);
+ dp->~G9x8y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x8y1(Test_G9x8y1, "G9x8y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x8y1C1Ev();
+extern void _ZN6G9x8y1D1Ev();
+Name_Map name_map_G9x8y1[] = {
+ NSPAIR(_ZN6G9x8y1C1Ev),
+ NSPAIR(_ZN6G9x8y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C9;
+extern VTBL_ENTRY _ZTI2C9[];
+extern VTBL_ENTRY _ZTV2C9[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C9[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E9x8;
+extern VTBL_ENTRY _ZTI4E9x8[];
+extern VTBL_ENTRY _ZTV4E9x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x8y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(48,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C9, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E9x8, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x8y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN4E9x83fooEv();
+extern void ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv)();
+static VTBL_ENTRY vtc_G9x8y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x8y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x8y1[0]),
+ (VTBL_ENTRY)&_ZN4E9x83fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G9x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G9x8y1[];
+extern void _ZN4E9x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x8__6G9x8y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x8[0]),
+ (VTBL_ENTRY)&_ZN4E9x83fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x8__6G9x8y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x8y1[] = {
+ {&(_ZTV6G9x8y1[4]), 4,13},
+ {&(_ZTV6G9x8y1[9]), 9,13},
+ {&(_ZTV6G9x8y1[12]), 12,13},
+ {&(_tg__ZTV4E9x8__6G9x8y1[3]), 3,4},
+ {&(_tg__ZTV2C94E9x8__6G9x8y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x8y1[];
+extern VTBL_ENTRY _ZTV6G9x8y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x8y1[];
+Class_Descriptor cd_G9x8y1 = { "G9x8y1", // class name
+ bases_G9x8y1, 6,
+ &(vtc_G9x8y1[0]), // expected_vtbl_contents
+ &(vtt_G9x8y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x8y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x8y1),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x8y1),5, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G9x8y2 : E9x8 , virtual F1 {
+ int ff;
+ ~G9x8y2(); // tgen
+ G9x8y2(); // tgen
+};
+//SIG(1 G9x8y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G9x8y2 ::~G9x8y2(){ note_dtor("G9x8y2", this);} // tgen
+G9x8y2 ::G9x8y2(){ note_ctor("G9x8y2", this);} // tgen
+
+static void Test_G9x8y2()
+{
+ extern Class_Descriptor cd_G9x8y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x8y2, buf);
+ G9x8y2 *dp, &lv = *(dp=new (buf) G9x8y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x8y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x8y2)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x8*), 0, "G9x8y2");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x8*), ABISELECT(36,28), "G9x8y2");
+ check_base_class_offset(lv, (C9*)(E9x8*), 0, "G9x8y2");
+ check_base_class_offset(lv, (D1*)(E9x8*), ABISELECT(16,12), "G9x8y2");
+ check_base_class_offset(lv, (E9x8*), 0, "G9x8y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G9x8y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G9x8y2.ff");
+ test_class_info(&lv, &cd_G9x8y2);
+ dp->~G9x8y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x8y2(Test_G9x8y2, "G9x8y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x8y2C1Ev();
+extern void _ZN6G9x8y2D1Ev();
+Name_Map name_map_G9x8y2[] = {
+ NSPAIR(_ZN6G9x8y2C1Ev),
+ NSPAIR(_ZN6G9x8y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C9;
+extern VTBL_ENTRY _ZTI2C9[];
+extern VTBL_ENTRY _ZTV2C9[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C9[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E9x8;
+extern VTBL_ENTRY _ZTI4E9x8[];
+extern VTBL_ENTRY _ZTV4E9x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x8y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(36,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C9, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E9x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(40,32), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x8y2[];
+extern void _ZN4E9x83fooEv();
+extern void ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x8y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x8y2[0]),
+ (VTBL_ENTRY)&_ZN4E9x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G9x8y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x8y2[];
+extern void _ZN4E9x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x8__6G9x8y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x8[0]),
+ (VTBL_ENTRY)&_ZN4E9x83fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x8__6G9x8y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x8y2[] = {
+ {&(_ZTV6G9x8y2[4]), 4,12},
+ {&(_tg__ZTV4E9x8__6G9x8y2[3]), 3,4},
+ {&(_tg__ZTV2C94E9x8__6G9x8y2[3]), 3,4},
+ {&(_ZTV6G9x8y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G9x8y2[];
+extern VTBL_ENTRY _ZTV6G9x8y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x8y2[];
+Class_Descriptor cd_G9x8y2 = { "G9x8y2", // class name
+ bases_G9x8y2, 6,
+ &(vtc_G9x8y2[0]), // expected_vtbl_contents
+ &(vtt_G9x8y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x8y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x8y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x8y2),4, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G9x8y3 : virtual E9x8 , virtual F1 {
+ int ff;
+ ~G9x8y3(); // tgen
+ G9x8y3(); // tgen
+};
+//SIG(1 G9x8y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G9x8y3 ::~G9x8y3(){ note_dtor("G9x8y3", this);} // tgen
+G9x8y3 ::G9x8y3(){ note_ctor("G9x8y3", this);} // tgen
+
+static void Test_G9x8y3()
+{
+ extern Class_Descriptor cd_G9x8y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G9x8y3, buf);
+ G9x8y3 *dp, &lv = *(dp=new (buf) G9x8y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G9x8y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x8y3)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x8*), ABISELECT(16,8), "G9x8y3");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x8*), ABISELECT(48,32), "G9x8y3");
+ check_base_class_offset(lv, (C9*)(E9x8*), ABISELECT(16,8), "G9x8y3");
+ check_base_class_offset(lv, (D1*)(E9x8*), ABISELECT(32,20), "G9x8y3");
+ check_base_class_offset(lv, (E9x8*), ABISELECT(16,8), "G9x8y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G9x8y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x8y3.ff");
+ test_class_info(&lv, &cd_G9x8y3);
+ dp->~G9x8y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x8y3(Test_G9x8y3, "G9x8y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G9x8y3C1Ev();
+extern void _ZN6G9x8y3D1Ev();
+Name_Map name_map_G9x8y3[] = {
+ NSPAIR(_ZN6G9x8y3C1Ev),
+ NSPAIR(_ZN6G9x8y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C9;
+extern VTBL_ENTRY _ZTI2C9[];
+extern VTBL_ENTRY _ZTV2C9[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C9[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E9x8;
+extern VTBL_ENTRY _ZTI4E9x8[];
+extern VTBL_ENTRY _ZTV4E9x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x8y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(48,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C9, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E9x8, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x8y3[];
+extern void _ZN4E9x83fooEv();
+extern void ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x8y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x8y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x8y3[0]),
+ (VTBL_ENTRY)&_ZN4E9x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G9x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G9x8y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x8y3[];
+extern void _ZN4E9x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x8__6G9x8y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x8[0]),
+ (VTBL_ENTRY)&_ZN4E9x83fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x8__6G9x8y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x8y3[] = {
+ {&(_ZTV6G9x8y3[5]), 5,17},
+ {&(_ZTV6G9x8y3[9]), 9,17},
+ {&(_ZTV6G9x8y3[12]), 12,17},
+ {&(_ZTV6G9x8y3[16]), 16,17},
+ {&(_tg__ZTV4E9x8__6G9x8y3[3]), 3,4},
+ {&(_tg__ZTV2C94E9x8__6G9x8y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x8y3[];
+extern VTBL_ENTRY _ZTV6G9x8y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x8y3[];
+Class_Descriptor cd_G9x8y3 = { "G9x8y3", // class name
+ bases_G9x8y3, 6,
+ &(vtc_G9x8y3[0]), // expected_vtbl_contents
+ &(vtt_G9x8y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G9x8y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x8y3),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x8y3),6, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G9x8y4 : E9x8 , F0 {
+ int ff;
+ ~G9x8y4(); // tgen
+ G9x8y4(); // tgen
+};
+//SIG(1 G9x8y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G9x8y4 ::~G9x8y4(){ note_dtor("G9x8y4", this);} // tgen
+G9x8y4 ::G9x8y4(){ note_ctor("G9x8y4", this);} // tgen
+
+static void Test_G9x8y4()
+{
+ extern Class_Descriptor cd_G9x8y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x8y4, buf);
+ G9x8y4 *dp, &lv = *(dp=new (buf) G9x8y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x8y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x8y4)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x8*), 0, "G9x8y4");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x8*), ABISELECT(40,32), "G9x8y4");
+ check_base_class_offset(lv, (C9*)(E9x8*), 0, "G9x8y4");
+ check_base_class_offset(lv, (D1*)(E9x8*), ABISELECT(16,12), "G9x8y4");
+ check_base_class_offset(lv, (E9x8*), 0, "G9x8y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G9x8y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G9x8y4.ff");
+ test_class_info(&lv, &cd_G9x8y4);
+ dp->~G9x8y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x8y4(Test_G9x8y4, "G9x8y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x8y4C1Ev();
+extern void _ZN6G9x8y4D1Ev();
+Name_Map name_map_G9x8y4[] = {
+ NSPAIR(_ZN6G9x8y4C1Ev),
+ NSPAIR(_ZN6G9x8y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C9;
+extern VTBL_ENTRY _ZTI2C9[];
+extern VTBL_ENTRY _ZTV2C9[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C9[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E9x8;
+extern VTBL_ENTRY _ZTI4E9x8[];
+extern VTBL_ENTRY _ZTV4E9x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x8y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(40,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C9, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E9x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(32,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x8y4[];
+extern void _ZN4E9x83fooEv();
+extern void ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv)();
+static VTBL_ENTRY vtc_G9x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x8y4[0]),
+ (VTBL_ENTRY)&_ZN4E9x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G9x8y4[];
+extern void _ZN4E9x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x8__6G9x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x8[0]),
+ (VTBL_ENTRY)&_ZN4E9x83fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x8__6G9x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x8y4[] = {
+ {&(_ZTV6G9x8y4[3]), 3,7},
+ {&(_tg__ZTV4E9x8__6G9x8y4[3]), 3,4},
+ {&(_tg__ZTV2C94E9x8__6G9x8y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x8y4[];
+extern VTBL_ENTRY _ZTV6G9x8y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x8y4[];
+Class_Descriptor cd_G9x8y4 = { "G9x8y4", // class name
+ bases_G9x8y4, 6,
+ &(vtc_G9x8y4[0]), // expected_vtbl_contents
+ &(vtt_G9x8y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x8y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x8y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x8y4),3, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G9x8y5 : virtual E9x8 , F0 {
+ int ff;
+ ~G9x8y5(); // tgen
+ G9x8y5(); // tgen
+};
+//SIG(1 G9x8y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G9x8y5 ::~G9x8y5(){ note_dtor("G9x8y5", this);} // tgen
+G9x8y5 ::G9x8y5(){ note_ctor("G9x8y5", this);} // tgen
+
+static void Test_G9x8y5()
+{
+ extern Class_Descriptor cd_G9x8y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x8y5, buf);
+ G9x8y5 *dp, &lv = *(dp=new (buf) G9x8y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x8y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x8y5)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x8*), ABISELECT(16,12), "G9x8y5");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x8*), ABISELECT(48,36), "G9x8y5");
+ check_base_class_offset(lv, (C9*)(E9x8*), ABISELECT(16,12), "G9x8y5");
+ check_base_class_offset(lv, (D1*)(E9x8*), ABISELECT(32,24), "G9x8y5");
+ check_base_class_offset(lv, (E9x8*), ABISELECT(16,12), "G9x8y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G9x8y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x8y5.ff");
+ test_class_info(&lv, &cd_G9x8y5);
+ dp->~G9x8y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x8y5(Test_G9x8y5, "G9x8y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x8y5C1Ev();
+extern void _ZN6G9x8y5D1Ev();
+Name_Map name_map_G9x8y5[] = {
+ NSPAIR(_ZN6G9x8y5C1Ev),
+ NSPAIR(_ZN6G9x8y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C9;
+extern VTBL_ENTRY _ZTI2C9[];
+extern VTBL_ENTRY _ZTV2C9[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C9[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E9x8;
+extern VTBL_ENTRY _ZTI4E9x8[];
+extern VTBL_ENTRY _ZTV4E9x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x8y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(48,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C9, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E9x8, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x8y5[];
+extern void _ZN4E9x83fooEv();
+extern void ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv)();
+static VTBL_ENTRY vtc_G9x8y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x8y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x8y5[0]),
+ (VTBL_ENTRY)&_ZN4E9x83fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G9x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G9x8y5[];
+extern void _ZN4E9x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x8__6G9x8y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x8[0]),
+ (VTBL_ENTRY)&_ZN4E9x83fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x8__6G9x8y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x8y5[] = {
+ {&(_ZTV6G9x8y5[4]), 4,12},
+ {&(_ZTV6G9x8y5[8]), 8,12},
+ {&(_ZTV6G9x8y5[11]), 11,12},
+ {&(_tg__ZTV4E9x8__6G9x8y5[3]), 3,4},
+ {&(_tg__ZTV2C94E9x8__6G9x8y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x8y5[];
+extern VTBL_ENTRY _ZTV6G9x8y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x8y5[];
+Class_Descriptor cd_G9x8y5 = { "G9x8y5", // class name
+ bases_G9x8y5, 6,
+ &(vtc_G9x8y5[0]), // expected_vtbl_contents
+ &(vtt_G9x8y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x8y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x8y5),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x8y5),5, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G9x8y6 : E9x8 , virtual F0 {
+ int ff;
+ ~G9x8y6(); // tgen
+ G9x8y6(); // tgen
+};
+//SIG(1 G9x8y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G9x8y6 ::~G9x8y6(){ note_dtor("G9x8y6", this);} // tgen
+G9x8y6 ::G9x8y6(){ note_ctor("G9x8y6", this);} // tgen
+
+static void Test_G9x8y6()
+{
+ extern Class_Descriptor cd_G9x8y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x8y6, buf);
+ G9x8y6 *dp, &lv = *(dp=new (buf) G9x8y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x8y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x8y6)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x8*), 0, "G9x8y6");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x8*), ABISELECT(36,28), "G9x8y6");
+ check_base_class_offset(lv, (C9*)(E9x8*), 0, "G9x8y6");
+ check_base_class_offset(lv, (D1*)(E9x8*), ABISELECT(16,12), "G9x8y6");
+ check_base_class_offset(lv, (E9x8*), 0, "G9x8y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G9x8y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G9x8y6.ff");
+ test_class_info(&lv, &cd_G9x8y6);
+ dp->~G9x8y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x8y6(Test_G9x8y6, "G9x8y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x8y6C1Ev();
+extern void _ZN6G9x8y6D1Ev();
+Name_Map name_map_G9x8y6[] = {
+ NSPAIR(_ZN6G9x8y6C1Ev),
+ NSPAIR(_ZN6G9x8y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C9;
+extern VTBL_ENTRY _ZTI2C9[];
+extern VTBL_ENTRY _ZTV2C9[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C9[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E9x8;
+extern VTBL_ENTRY _ZTI4E9x8[];
+extern VTBL_ENTRY _ZTV4E9x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x8y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(36,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C9, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E9x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(40,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x8y6[];
+extern void _ZN4E9x83fooEv();
+extern void ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv)();
+static VTBL_ENTRY vtc_G9x8y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x8y6[0]),
+ (VTBL_ENTRY)&_ZN4E9x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G9x8y6[];
+extern void _ZN4E9x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x8__6G9x8y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x8[0]),
+ (VTBL_ENTRY)&_ZN4E9x83fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x8__6G9x8y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x8y6[] = {
+ {&(_ZTV6G9x8y6[4]), 4,8},
+ {&(_tg__ZTV4E9x8__6G9x8y6[3]), 3,4},
+ {&(_tg__ZTV2C94E9x8__6G9x8y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x8y6[];
+extern VTBL_ENTRY _ZTV6G9x8y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x8y6[];
+Class_Descriptor cd_G9x8y6 = { "G9x8y6", // class name
+ bases_G9x8y6, 6,
+ &(vtc_G9x8y6[0]), // expected_vtbl_contents
+ &(vtt_G9x8y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x8y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x8y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x8y6),3, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G9x8y7 : virtual E9x8 , virtual F0 {
+ int ff;
+ ~G9x8y7(); // tgen
+ G9x8y7(); // tgen
+};
+//SIG(1 G9x8y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G9x8y7 ::~G9x8y7(){ note_dtor("G9x8y7", this);} // tgen
+G9x8y7 ::G9x8y7(){ note_ctor("G9x8y7", this);} // tgen
+
+static void Test_G9x8y7()
+{
+ extern Class_Descriptor cd_G9x8y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x8y7, buf);
+ G9x8y7 *dp, &lv = *(dp=new (buf) G9x8y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x8y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x8y7)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x8*), ABISELECT(16,8), "G9x8y7");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x8*), ABISELECT(48,32), "G9x8y7");
+ check_base_class_offset(lv, (C9*)(E9x8*), ABISELECT(16,8), "G9x8y7");
+ check_base_class_offset(lv, (D1*)(E9x8*), ABISELECT(32,20), "G9x8y7");
+ check_base_class_offset(lv, (E9x8*), ABISELECT(16,8), "G9x8y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G9x8y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x8y7.ff");
+ test_class_info(&lv, &cd_G9x8y7);
+ dp->~G9x8y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x8y7(Test_G9x8y7, "G9x8y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x8y7C1Ev();
+extern void _ZN6G9x8y7D1Ev();
+Name_Map name_map_G9x8y7[] = {
+ NSPAIR(_ZN6G9x8y7C1Ev),
+ NSPAIR(_ZN6G9x8y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C9;
+extern VTBL_ENTRY _ZTI2C9[];
+extern VTBL_ENTRY _ZTV2C9[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT2C9[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E9x8;
+extern VTBL_ENTRY _ZTI4E9x8[];
+extern VTBL_ENTRY _ZTV4E9x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x8y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(48,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C9, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E9x8, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(52,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x8y7[];
+extern void _ZN4E9x83fooEv();
+extern void ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv)();
+static VTBL_ENTRY vtc_G9x8y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x8y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x8y7[0]),
+ (VTBL_ENTRY)&_ZN4E9x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G9x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N4E9x83fooEv,_ZThn12_N4E9x83fooEv),
+};
+extern VTBL_ENTRY _ZTV6G9x8y7[];
+extern void _ZN4E9x83fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x8__6G9x8y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x8[0]),
+ (VTBL_ENTRY)&_ZN4E9x83fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x8__6G9x8y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x8y7[] = {
+ {&(_ZTV6G9x8y7[5]), 5,13},
+ {&(_ZTV6G9x8y7[9]), 9,13},
+ {&(_ZTV6G9x8y7[12]), 12,13},
+ {&(_tg__ZTV4E9x8__6G9x8y7[3]), 3,4},
+ {&(_tg__ZTV2C94E9x8__6G9x8y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x8y7[];
+extern VTBL_ENTRY _ZTV6G9x8y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x8y7[];
+Class_Descriptor cd_G9x8y7 = { "G9x8y7", // class name
+ bases_G9x8y7, 6,
+ &(vtc_G9x8y7[0]), // expected_vtbl_contents
+ &(vtt_G9x8y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x8y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x8y7),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x8y7),5, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E10x8 : C10 , D1 {
+ int fd;
+ virtual void foo(); // _ZN5E10x83fooEv
+ ~E10x8(); // tgen
+ E10x8(); // tgen
+};
+//SIG(-1 E10x8) C1{ BC2{ VBC3{ Fi} VBC4{ Fi} Fi} BC5{ v1 Fi} v1 Fi}
+
+
+void E10x8 ::foo(){vfunc_called(this, "_ZN5E10x83fooEv");}
+E10x8 ::~E10x8(){ note_dtor("E10x8", this);} // tgen
+E10x8 ::E10x8(){ note_ctor("E10x8", this);} // tgen
+
+static void Test_E10x8()
+{
+ extern Class_Descriptor cd_E10x8;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E10x8, buf);
+ E10x8 *dp, &lv = *(dp=new (buf) E10x8());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E10x8)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E10x8)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(32,20), "E10x8");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(36,24), "E10x8");
+ check_base_class_offset(lv, (C10*), 0, "E10x8");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,8), "E10x8");
+ check_field_offset(lv, fd, ABISELECT(28,16), "E10x8.fd");
+ test_class_info(&lv, &cd_E10x8);
+ dp->~E10x8();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE10x8(Test_E10x8, "E10x8", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E10x8C1Ev();
+extern void _ZN5E10x8D1Ev();
+Name_Map name_map_E10x8[] = {
+ NSPAIR(_ZN5E10x8C1Ev),
+ NSPAIR(_ZN5E10x8D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C10;
+extern VTBL_ENTRY _ZTI3C10[];
+extern VTBL_ENTRY _ZTV3C10[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C10[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E10x8[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(32,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(36,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C10, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E10x8[];
+extern void _ZN5E10x83fooEv();
+extern void ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv)();
+static VTBL_ENTRY vtc_E10x8[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x8[0]),
+ (VTBL_ENTRY)&_ZN5E10x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E10x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv),
+};
+extern VTBL_ENTRY _ZTV5E10x8[];
+static VTBL_ENTRY _tg__ZTV3C10__5E10x8[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_E10x8[] = {
+ {&(_ZTV5E10x8[4]), 4,8},
+ {&(_tg__ZTV3C10__5E10x8[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI5E10x8[];
+extern VTBL_ENTRY _ZTV5E10x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x8[];
+Class_Descriptor cd_E10x8 = { "E10x8", // class name
+ bases_E10x8, 4,
+ &(vtc_E10x8[0]), // expected_vtbl_contents
+ &(vtt_E10x8[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E10x8),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E10x8),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E10x8),2, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G10x8y0 : E10x8 , F1 {
+ int ff;
+ ~G10x8y0(); // tgen
+ G10x8y0(); // tgen
+};
+//SIG(1 G10x8y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G10x8y0 ::~G10x8y0(){ note_dtor("G10x8y0", this);} // tgen
+G10x8y0 ::G10x8y0(){ note_ctor("G10x8y0", this);} // tgen
+
+static void Test_G10x8y0()
+{
+ extern Class_Descriptor cd_G10x8y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x8y0, buf);
+ G10x8y0 *dp, &lv = *(dp=new (buf) G10x8y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x8y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x8y0)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x8*), ABISELECT(48,32), "G10x8y0");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x8*), ABISELECT(52,36), "G10x8y0");
+ check_base_class_offset(lv, (C10*)(E10x8*), 0, "G10x8y0");
+ check_base_class_offset(lv, (D1*)(E10x8*), ABISELECT(16,8), "G10x8y0");
+ check_base_class_offset(lv, (E10x8*), 0, "G10x8y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,20), "G10x8y0");
+ check_field_offset(lv, ff, ABISELECT(44,28), "G10x8y0.ff");
+ test_class_info(&lv, &cd_G10x8y0);
+ dp->~G10x8y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x8y0(Test_G10x8y0, "G10x8y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x8y0C1Ev();
+extern void _ZN7G10x8y0D1Ev();
+Name_Map name_map_G10x8y0[] = {
+ NSPAIR(_ZN7G10x8y0C1Ev),
+ NSPAIR(_ZN7G10x8y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C10;
+extern VTBL_ENTRY _ZTI3C10[];
+extern VTBL_ENTRY _ZTV3C10[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C10[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E10x8;
+extern VTBL_ENTRY _ZTI5E10x8[];
+extern VTBL_ENTRY _ZTV5E10x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x8y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(52,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C10, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E10x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x8y0[];
+extern void _ZN5E10x83fooEv();
+extern void ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x8y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x8y0[0]),
+ (VTBL_ENTRY)&_ZN5E10x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x8y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x8y0[];
+extern void _ZN5E10x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E10x8__7G10x8y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x8[0]),
+ (VTBL_ENTRY)&_ZN5E10x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x8__7G10x8y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x8y0[] = {
+ {&(_ZTV7G10x8y0[4]), 4,11},
+ {&(_tg__ZTV5E10x8__7G10x8y0[4]), 4,5},
+ {&(_tg__ZTV3C105E10x8__7G10x8y0[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x8y0[];
+extern VTBL_ENTRY _ZTV7G10x8y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x8y0[];
+Class_Descriptor cd_G10x8y0 = { "G10x8y0", // class name
+ bases_G10x8y0, 6,
+ &(vtc_G10x8y0[0]), // expected_vtbl_contents
+ &(vtt_G10x8y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x8y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x8y0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x8y0),3, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G10x8y1 : virtual E10x8 , F1 {
+ int ff;
+ ~G10x8y1(); // tgen
+ G10x8y1(); // tgen
+};
+//SIG(1 G10x8y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G10x8y1 ::~G10x8y1(){ note_dtor("G10x8y1", this);} // tgen
+G10x8y1 ::G10x8y1(){ note_ctor("G10x8y1", this);} // tgen
+
+static void Test_G10x8y1()
+{
+ extern Class_Descriptor cd_G10x8y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x8y1, buf);
+ G10x8y1 *dp, &lv = *(dp=new (buf) G10x8y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x8y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x8y1)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x8*), ABISELECT(48,32), "G10x8y1");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x8*), ABISELECT(52,36), "G10x8y1");
+ check_base_class_offset(lv, (C10*)(E10x8*), ABISELECT(16,12), "G10x8y1");
+ check_base_class_offset(lv, (D1*)(E10x8*), ABISELECT(32,20), "G10x8y1");
+ check_base_class_offset(lv, (E10x8*), ABISELECT(16,12), "G10x8y1");
+ check_base_class_offset(lv, (F1*), 0, "G10x8y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x8y1.ff");
+ test_class_info(&lv, &cd_G10x8y1);
+ dp->~G10x8y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x8y1(Test_G10x8y1, "G10x8y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x8y1C1Ev();
+extern void _ZN7G10x8y1D1Ev();
+Name_Map name_map_G10x8y1[] = {
+ NSPAIR(_ZN7G10x8y1C1Ev),
+ NSPAIR(_ZN7G10x8y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C10;
+extern VTBL_ENTRY _ZTI3C10[];
+extern VTBL_ENTRY _ZTV3C10[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C10[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E10x8;
+extern VTBL_ENTRY _ZTI5E10x8[];
+extern VTBL_ENTRY _ZTV5E10x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x8y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(52,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C10, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E10x8, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x8y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN5E10x83fooEv();
+extern void ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv)();
+static VTBL_ENTRY vtc_G10x8y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x8y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x8y1[0]),
+ (VTBL_ENTRY)&_ZN5E10x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G10x8y1[];
+extern void _ZN5E10x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E10x8__7G10x8y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x8[0]),
+ (VTBL_ENTRY)&_ZN5E10x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x8__7G10x8y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x8y1[] = {
+ {&(_ZTV7G10x8y1[5]), 5,15},
+ {&(_ZTV7G10x8y1[11]), 11,15},
+ {&(_ZTV7G10x8y1[14]), 14,15},
+ {&(_tg__ZTV5E10x8__7G10x8y1[4]), 4,5},
+ {&(_tg__ZTV3C105E10x8__7G10x8y1[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x8y1[];
+extern VTBL_ENTRY _ZTV7G10x8y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x8y1[];
+Class_Descriptor cd_G10x8y1 = { "G10x8y1", // class name
+ bases_G10x8y1, 6,
+ &(vtc_G10x8y1[0]), // expected_vtbl_contents
+ &(vtt_G10x8y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x8y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x8y1),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x8y1),5, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G10x8y2 : E10x8 , virtual F1 {
+ int ff;
+ ~G10x8y2(); // tgen
+ G10x8y2(); // tgen
+};
+//SIG(1 G10x8y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G10x8y2 ::~G10x8y2(){ note_dtor("G10x8y2", this);} // tgen
+G10x8y2 ::G10x8y2(){ note_ctor("G10x8y2", this);} // tgen
+
+static void Test_G10x8y2()
+{
+ extern Class_Descriptor cd_G10x8y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G10x8y2, buf);
+ G10x8y2 *dp, &lv = *(dp=new (buf) G10x8y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G10x8y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x8y2)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x8*), ABISELECT(36,24), "G10x8y2");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x8*), ABISELECT(40,28), "G10x8y2");
+ check_base_class_offset(lv, (C10*)(E10x8*), 0, "G10x8y2");
+ check_base_class_offset(lv, (D1*)(E10x8*), ABISELECT(16,8), "G10x8y2");
+ check_base_class_offset(lv, (E10x8*), 0, "G10x8y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G10x8y2");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G10x8y2.ff");
+ test_class_info(&lv, &cd_G10x8y2);
+ dp->~G10x8y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x8y2(Test_G10x8y2, "G10x8y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x8y2C1Ev();
+extern void _ZN7G10x8y2D1Ev();
+Name_Map name_map_G10x8y2[] = {
+ NSPAIR(_ZN7G10x8y2C1Ev),
+ NSPAIR(_ZN7G10x8y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C10;
+extern VTBL_ENTRY _ZTI3C10[];
+extern VTBL_ENTRY _ZTV3C10[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C10[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E10x8;
+extern VTBL_ENTRY _ZTI5E10x8[];
+extern VTBL_ENTRY _ZTV5E10x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x8y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(36,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(40,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C10, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E10x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(48,32), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x8y2[];
+extern void _ZN5E10x83fooEv();
+extern void ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x8y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x8y2[0]),
+ (VTBL_ENTRY)&_ZN5E10x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G10x8y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x8y2[];
+extern void _ZN5E10x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E10x8__7G10x8y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x8[0]),
+ (VTBL_ENTRY)&_ZN5E10x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x8__7G10x8y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x8y2[] = {
+ {&(_ZTV7G10x8y2[5]), 5,13},
+ {&(_tg__ZTV5E10x8__7G10x8y2[4]), 4,5},
+ {&(_tg__ZTV3C105E10x8__7G10x8y2[4]), 4,4},
+ {&(_ZTV7G10x8y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G10x8y2[];
+extern VTBL_ENTRY _ZTV7G10x8y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x8y2[];
+Class_Descriptor cd_G10x8y2 = { "G10x8y2", // class name
+ bases_G10x8y2, 6,
+ &(vtc_G10x8y2[0]), // expected_vtbl_contents
+ &(vtt_G10x8y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G10x8y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x8y2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x8y2),4, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G10x8y3 : virtual E10x8 , virtual F1 {
+ int ff;
+ ~G10x8y3(); // tgen
+ G10x8y3(); // tgen
+};
+//SIG(1 G10x8y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G10x8y3 ::~G10x8y3(){ note_dtor("G10x8y3", this);} // tgen
+G10x8y3 ::G10x8y3(){ note_ctor("G10x8y3", this);} // tgen
+
+static void Test_G10x8y3()
+{
+ extern Class_Descriptor cd_G10x8y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G10x8y3, buf);
+ G10x8y3 *dp, &lv = *(dp=new (buf) G10x8y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G10x8y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x8y3)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x8*), ABISELECT(48,28), "G10x8y3");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x8*), ABISELECT(52,32), "G10x8y3");
+ check_base_class_offset(lv, (C10*)(E10x8*), ABISELECT(16,8), "G10x8y3");
+ check_base_class_offset(lv, (D1*)(E10x8*), ABISELECT(32,16), "G10x8y3");
+ check_base_class_offset(lv, (E10x8*), ABISELECT(16,8), "G10x8y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G10x8y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x8y3.ff");
+ test_class_info(&lv, &cd_G10x8y3);
+ dp->~G10x8y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x8y3(Test_G10x8y3, "G10x8y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G10x8y3C1Ev();
+extern void _ZN7G10x8y3D1Ev();
+Name_Map name_map_G10x8y3[] = {
+ NSPAIR(_ZN7G10x8y3C1Ev),
+ NSPAIR(_ZN7G10x8y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C10;
+extern VTBL_ENTRY _ZTI3C10[];
+extern VTBL_ENTRY _ZTV3C10[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C10[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E10x8;
+extern VTBL_ENTRY _ZTI5E10x8[];
+extern VTBL_ENTRY _ZTV5E10x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x8y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(52,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C10, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E10x8, ABISELECT(16,8), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 15, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x8y3[];
+extern void _ZN5E10x83fooEv();
+extern void ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x8y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x8y3[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x8y3[0]),
+ (VTBL_ENTRY)&_ZN5E10x83fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G10x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G10x8y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x8y3[];
+extern void _ZN5E10x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E10x8__7G10x8y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x8[0]),
+ (VTBL_ENTRY)&_ZN5E10x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x8__7G10x8y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x8y3[] = {
+ {&(_ZTV7G10x8y3[6]), 6,19},
+ {&(_ZTV7G10x8y3[11]), 11,19},
+ {&(_ZTV7G10x8y3[14]), 14,19},
+ {&(_ZTV7G10x8y3[18]), 18,19},
+ {&(_tg__ZTV5E10x8__7G10x8y3[4]), 4,5},
+ {&(_tg__ZTV3C105E10x8__7G10x8y3[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x8y3[];
+extern VTBL_ENTRY _ZTV7G10x8y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x8y3[];
+Class_Descriptor cd_G10x8y3 = { "G10x8y3", // class name
+ bases_G10x8y3, 6,
+ &(vtc_G10x8y3[0]), // expected_vtbl_contents
+ &(vtt_G10x8y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G10x8y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x8y3),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x8y3),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G10x8y4 : E10x8 , F0 {
+ int ff;
+ ~G10x8y4(); // tgen
+ G10x8y4(); // tgen
+};
+//SIG(1 G10x8y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G10x8y4 ::~G10x8y4(){ note_dtor("G10x8y4", this);} // tgen
+G10x8y4 ::G10x8y4(){ note_ctor("G10x8y4", this);} // tgen
+
+static void Test_G10x8y4()
+{
+ extern Class_Descriptor cd_G10x8y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x8y4, buf);
+ G10x8y4 *dp, &lv = *(dp=new (buf) G10x8y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x8y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x8y4)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x8*), ABISELECT(40,28), "G10x8y4");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x8*), ABISELECT(44,32), "G10x8y4");
+ check_base_class_offset(lv, (C10*)(E10x8*), 0, "G10x8y4");
+ check_base_class_offset(lv, (D1*)(E10x8*), ABISELECT(16,8), "G10x8y4");
+ check_base_class_offset(lv, (E10x8*), 0, "G10x8y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,20), "G10x8y4");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G10x8y4.ff");
+ test_class_info(&lv, &cd_G10x8y4);
+ dp->~G10x8y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x8y4(Test_G10x8y4, "G10x8y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x8y4C1Ev();
+extern void _ZN7G10x8y4D1Ev();
+Name_Map name_map_G10x8y4[] = {
+ NSPAIR(_ZN7G10x8y4C1Ev),
+ NSPAIR(_ZN7G10x8y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C10;
+extern VTBL_ENTRY _ZTI3C10[];
+extern VTBL_ENTRY _ZTV3C10[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C10[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E10x8;
+extern VTBL_ENTRY _ZTI5E10x8[];
+extern VTBL_ENTRY _ZTV5E10x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x8y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(44,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C10, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E10x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(32,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x8y4[];
+extern void _ZN5E10x83fooEv();
+extern void ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv)();
+static VTBL_ENTRY vtc_G10x8y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x8y4[0]),
+ (VTBL_ENTRY)&_ZN5E10x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G10x8y4[];
+extern void _ZN5E10x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E10x8__7G10x8y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x8[0]),
+ (VTBL_ENTRY)&_ZN5E10x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x8__7G10x8y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x8y4[] = {
+ {&(_ZTV7G10x8y4[4]), 4,8},
+ {&(_tg__ZTV5E10x8__7G10x8y4[4]), 4,5},
+ {&(_tg__ZTV3C105E10x8__7G10x8y4[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x8y4[];
+extern VTBL_ENTRY _ZTV7G10x8y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x8y4[];
+Class_Descriptor cd_G10x8y4 = { "G10x8y4", // class name
+ bases_G10x8y4, 6,
+ &(vtc_G10x8y4[0]), // expected_vtbl_contents
+ &(vtt_G10x8y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x8y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x8y4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x8y4),3, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G10x8y5 : virtual E10x8 , F0 {
+ int ff;
+ ~G10x8y5(); // tgen
+ G10x8y5(); // tgen
+};
+//SIG(1 G10x8y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G10x8y5 ::~G10x8y5(){ note_dtor("G10x8y5", this);} // tgen
+G10x8y5 ::G10x8y5(){ note_ctor("G10x8y5", this);} // tgen
+
+static void Test_G10x8y5()
+{
+ extern Class_Descriptor cd_G10x8y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x8y5, buf);
+ G10x8y5 *dp, &lv = *(dp=new (buf) G10x8y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x8y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x8y5)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x8*), ABISELECT(48,32), "G10x8y5");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x8*), ABISELECT(52,36), "G10x8y5");
+ check_base_class_offset(lv, (C10*)(E10x8*), ABISELECT(16,12), "G10x8y5");
+ check_base_class_offset(lv, (D1*)(E10x8*), ABISELECT(32,20), "G10x8y5");
+ check_base_class_offset(lv, (E10x8*), ABISELECT(16,12), "G10x8y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G10x8y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x8y5.ff");
+ test_class_info(&lv, &cd_G10x8y5);
+ dp->~G10x8y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x8y5(Test_G10x8y5, "G10x8y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x8y5C1Ev();
+extern void _ZN7G10x8y5D1Ev();
+Name_Map name_map_G10x8y5[] = {
+ NSPAIR(_ZN7G10x8y5C1Ev),
+ NSPAIR(_ZN7G10x8y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C10;
+extern VTBL_ENTRY _ZTI3C10[];
+extern VTBL_ENTRY _ZTV3C10[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C10[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E10x8;
+extern VTBL_ENTRY _ZTI5E10x8[];
+extern VTBL_ENTRY _ZTV5E10x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x8y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(52,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C10, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E10x8, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x8y5[];
+extern void _ZN5E10x83fooEv();
+extern void ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv)();
+static VTBL_ENTRY vtc_G10x8y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x8y5[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x8y5[0]),
+ (VTBL_ENTRY)&_ZN5E10x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G10x8y5[];
+extern void _ZN5E10x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E10x8__7G10x8y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x8[0]),
+ (VTBL_ENTRY)&_ZN5E10x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x8__7G10x8y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x8y5[] = {
+ {&(_ZTV7G10x8y5[5]), 5,14},
+ {&(_ZTV7G10x8y5[10]), 10,14},
+ {&(_ZTV7G10x8y5[13]), 13,14},
+ {&(_tg__ZTV5E10x8__7G10x8y5[4]), 4,5},
+ {&(_tg__ZTV3C105E10x8__7G10x8y5[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x8y5[];
+extern VTBL_ENTRY _ZTV7G10x8y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x8y5[];
+Class_Descriptor cd_G10x8y5 = { "G10x8y5", // class name
+ bases_G10x8y5, 6,
+ &(vtc_G10x8y5[0]), // expected_vtbl_contents
+ &(vtt_G10x8y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x8y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x8y5),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x8y5),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G10x8y6 : E10x8 , virtual F0 {
+ int ff;
+ ~G10x8y6(); // tgen
+ G10x8y6(); // tgen
+};
+//SIG(1 G10x8y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G10x8y6 ::~G10x8y6(){ note_dtor("G10x8y6", this);} // tgen
+G10x8y6 ::G10x8y6(){ note_ctor("G10x8y6", this);} // tgen
+
+static void Test_G10x8y6()
+{
+ extern Class_Descriptor cd_G10x8y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x8y6, buf);
+ G10x8y6 *dp, &lv = *(dp=new (buf) G10x8y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x8y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x8y6)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x8*), ABISELECT(36,24), "G10x8y6");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x8*), ABISELECT(40,28), "G10x8y6");
+ check_base_class_offset(lv, (C10*)(E10x8*), 0, "G10x8y6");
+ check_base_class_offset(lv, (D1*)(E10x8*), ABISELECT(16,8), "G10x8y6");
+ check_base_class_offset(lv, (E10x8*), 0, "G10x8y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G10x8y6");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G10x8y6.ff");
+ test_class_info(&lv, &cd_G10x8y6);
+ dp->~G10x8y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x8y6(Test_G10x8y6, "G10x8y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x8y6C1Ev();
+extern void _ZN7G10x8y6D1Ev();
+Name_Map name_map_G10x8y6[] = {
+ NSPAIR(_ZN7G10x8y6C1Ev),
+ NSPAIR(_ZN7G10x8y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C10;
+extern VTBL_ENTRY _ZTI3C10[];
+extern VTBL_ENTRY _ZTV3C10[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C10[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E10x8;
+extern VTBL_ENTRY _ZTI5E10x8[];
+extern VTBL_ENTRY _ZTV5E10x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x8y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(36,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(40,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C10, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E10x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(44,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x8y6[];
+extern void _ZN5E10x83fooEv();
+extern void ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv)();
+static VTBL_ENTRY vtc_G10x8y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x8y6[0]),
+ (VTBL_ENTRY)&_ZN5E10x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G10x8y6[];
+extern void _ZN5E10x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E10x8__7G10x8y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x8[0]),
+ (VTBL_ENTRY)&_ZN5E10x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x8__7G10x8y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x8y6[] = {
+ {&(_ZTV7G10x8y6[5]), 5,9},
+ {&(_tg__ZTV5E10x8__7G10x8y6[4]), 4,5},
+ {&(_tg__ZTV3C105E10x8__7G10x8y6[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x8y6[];
+extern VTBL_ENTRY _ZTV7G10x8y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x8y6[];
+Class_Descriptor cd_G10x8y6 = { "G10x8y6", // class name
+ bases_G10x8y6, 6,
+ &(vtc_G10x8y6[0]), // expected_vtbl_contents
+ &(vtt_G10x8y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x8y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x8y6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x8y6),3, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G10x8y7 : virtual E10x8 , virtual F0 {
+ int ff;
+ ~G10x8y7(); // tgen
+ G10x8y7(); // tgen
+};
+//SIG(1 G10x8y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G10x8y7 ::~G10x8y7(){ note_dtor("G10x8y7", this);} // tgen
+G10x8y7 ::G10x8y7(){ note_ctor("G10x8y7", this);} // tgen
+
+static void Test_G10x8y7()
+{
+ extern Class_Descriptor cd_G10x8y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G10x8y7, buf);
+ G10x8y7 *dp, &lv = *(dp=new (buf) G10x8y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G10x8y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x8y7)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x8*), ABISELECT(48,28), "G10x8y7");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x8*), ABISELECT(52,32), "G10x8y7");
+ check_base_class_offset(lv, (C10*)(E10x8*), ABISELECT(16,8), "G10x8y7");
+ check_base_class_offset(lv, (D1*)(E10x8*), ABISELECT(32,16), "G10x8y7");
+ check_base_class_offset(lv, (E10x8*), ABISELECT(16,8), "G10x8y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G10x8y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x8y7.ff");
+ test_class_info(&lv, &cd_G10x8y7);
+ dp->~G10x8y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x8y7(Test_G10x8y7, "G10x8y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x8y7C1Ev();
+extern void _ZN7G10x8y7D1Ev();
+Name_Map name_map_G10x8y7[] = {
+ NSPAIR(_ZN7G10x8y7C1Ev),
+ NSPAIR(_ZN7G10x8y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C10;
+extern VTBL_ENTRY _ZTI3C10[];
+extern VTBL_ENTRY _ZTV3C10[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C10[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E10x8;
+extern VTBL_ENTRY _ZTI5E10x8[];
+extern VTBL_ENTRY _ZTV5E10x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x8y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(52,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C10, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E10x8, ABISELECT(16,8), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(56,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x8y7[];
+extern void _ZN5E10x83fooEv();
+extern void ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv)();
+static VTBL_ENTRY vtc_G10x8y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x8y7[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x8y7[0]),
+ (VTBL_ENTRY)&_ZN5E10x83fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G10x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E10x83fooEv,_ZThn8_N5E10x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G10x8y7[];
+extern void _ZN5E10x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E10x8__7G10x8y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x8[0]),
+ (VTBL_ENTRY)&_ZN5E10x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x8__7G10x8y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x8y7[] = {
+ {&(_ZTV7G10x8y7[6]), 6,15},
+ {&(_ZTV7G10x8y7[11]), 11,15},
+ {&(_ZTV7G10x8y7[14]), 14,15},
+ {&(_tg__ZTV5E10x8__7G10x8y7[4]), 4,5},
+ {&(_tg__ZTV3C105E10x8__7G10x8y7[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x8y7[];
+extern VTBL_ENTRY _ZTV7G10x8y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x8y7[];
+Class_Descriptor cd_G10x8y7 = { "G10x8y7", // class name
+ bases_G10x8y7, 6,
+ &(vtc_G10x8y7[0]), // expected_vtbl_contents
+ &(vtt_G10x8y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G10x8y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x8y7),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x8y7),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E11x8 : C11 , D1 {
+ int fd;
+ virtual void foo(); // _ZN5E11x83fooEv
+ ~E11x8(); // tgen
+ E11x8(); // tgen
+};
+//SIG(-1 E11x8) C1{ BC2{ VBC3{ v1 Fi} VBC4{ Fi} Fi} BC5{ v1 Fi} v1 Fi}
+
+
+void E11x8 ::foo(){vfunc_called(this, "_ZN5E11x83fooEv");}
+E11x8 ::~E11x8(){ note_dtor("E11x8", this);} // tgen
+E11x8 ::E11x8(){ note_ctor("E11x8", this);} // tgen
+
+static void Test_E11x8()
+{
+ extern Class_Descriptor cd_E11x8;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E11x8, buf);
+ E11x8 *dp, &lv = *(dp=new (buf) E11x8());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E11x8)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E11x8)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(32,20), "E11x8");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(44,28), "E11x8");
+ check_base_class_offset(lv, (C11*), 0, "E11x8");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,8), "E11x8");
+ check_field_offset(lv, fd, ABISELECT(28,16), "E11x8.fd");
+ test_class_info(&lv, &cd_E11x8);
+ dp->~E11x8();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE11x8(Test_E11x8, "E11x8", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E11x8C1Ev();
+extern void _ZN5E11x8D1Ev();
+Name_Map name_map_E11x8[] = {
+ NSPAIR(_ZN5E11x8C1Ev),
+ NSPAIR(_ZN5E11x8D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C11;
+extern VTBL_ENTRY _ZTI3C11[];
+extern VTBL_ENTRY _ZTV3C11[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C11[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E11x8[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(44,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C11, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E11x8[];
+extern void _ZN5E11x83fooEv();
+extern void ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E11x8[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&_ZN5E11x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv),
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv),
+};
+extern VTBL_ENTRY _ZTV5E11x8[];
+static VTBL_ENTRY _tg__ZTV3C11__5E11x8[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__5E11x8[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E11x8[] = {
+ {&(_ZTV5E11x8[4]), 4,12},
+ {&(_tg__ZTV3C11__5E11x8[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__5E11x8[3]), 3,4},
+ {&(_ZTV5E11x8[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI5E11x8[];
+extern VTBL_ENTRY _ZTV5E11x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x8[];
+static VTBL_ENTRY alt_thunk_names26[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E11x8 = { "E11x8", // class name
+ bases_E11x8, 4,
+ &(vtc_E11x8[0]), // expected_vtbl_contents
+ &(vtt_E11x8[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E11x8),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E11x8),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E11x8),4, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names26,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G11x8y0 : E11x8 , F1 {
+ int ff;
+ ~G11x8y0(); // tgen
+ G11x8y0(); // tgen
+};
+//SIG(1 G11x8y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G11x8y0 ::~G11x8y0(){ note_dtor("G11x8y0", this);} // tgen
+G11x8y0 ::G11x8y0(){ note_ctor("G11x8y0", this);} // tgen
+
+static void Test_G11x8y0()
+{
+ extern Class_Descriptor cd_G11x8y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G11x8y0, buf);
+ G11x8y0 *dp, &lv = *(dp=new (buf) G11x8y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G11x8y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x8y0)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x8*), ABISELECT(48,32), "G11x8y0");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x8*), ABISELECT(60,40), "G11x8y0");
+ check_base_class_offset(lv, (C11*)(E11x8*), 0, "G11x8y0");
+ check_base_class_offset(lv, (D1*)(E11x8*), ABISELECT(16,8), "G11x8y0");
+ check_base_class_offset(lv, (E11x8*), 0, "G11x8y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,20), "G11x8y0");
+ check_field_offset(lv, ff, ABISELECT(44,28), "G11x8y0.ff");
+ test_class_info(&lv, &cd_G11x8y0);
+ dp->~G11x8y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x8y0(Test_G11x8y0, "G11x8y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x8y0C1Ev();
+extern void _ZN7G11x8y0D1Ev();
+Name_Map name_map_G11x8y0[] = {
+ NSPAIR(_ZN7G11x8y0C1Ev),
+ NSPAIR(_ZN7G11x8y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C11;
+extern VTBL_ENTRY _ZTI3C11[];
+extern VTBL_ENTRY _ZTV3C11[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C11[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E11x8;
+extern VTBL_ENTRY _ZTI5E11x8[];
+extern VTBL_ENTRY _ZTV5E11x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x8y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(60,40), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C11, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E11x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x8y0[];
+extern void _ZN5E11x83fooEv();
+extern void ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv)();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv)();
+extern void ABISELECT(_ZThn48_N5E11x83fooEv,_ZThn32_N5E11x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G11x8y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x8y0[0]),
+ (VTBL_ENTRY)&_ZN5E11x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x8y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G11x8y0[];
+extern void _ZN5E11x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E11x8__7G11x8y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&_ZN5E11x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x8__7G11x8y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x8__7G11x8y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv)();
+extern void ABISELECT(_ZThn48_N5E11x83fooEv,_ZThn32_N5E11x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E11x8__7G11x8y0[] = {
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv),
+};
+static VTT_ENTRY vtt_G11x8y0[] = {
+ {&(_ZTV7G11x8y0[4]), 4,15},
+ {&(_tg__ZTV5E11x8__7G11x8y0[4]), 4,5},
+ {&(_tg__ZTV3C115E11x8__7G11x8y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x8__7G11x8y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x8__7G11x8y0[3]), 3,4},
+ {&(_ZTV7G11x8y0[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G11x8y0[];
+extern VTBL_ENTRY _ZTV7G11x8y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x8y0[];
+static VTBL_ENTRY alt_thunk_names27[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N5E11x83fooEv,_ZThn32_N5E11x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N5E11x83fooEv,_ZThn32_N5E11x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G11x8y0 = { "G11x8y0", // class name
+ bases_G11x8y0, 6,
+ &(vtc_G11x8y0[0]), // expected_vtbl_contents
+ &(vtt_G11x8y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G11x8y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x8y0),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x8y0),6, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names27,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G11x8y1 : virtual E11x8 , F1 {
+ int ff;
+ ~G11x8y1(); // tgen
+ G11x8y1(); // tgen
+};
+//SIG(1 G11x8y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G11x8y1 ::~G11x8y1(){ note_dtor("G11x8y1", this);} // tgen
+G11x8y1 ::G11x8y1(){ note_ctor("G11x8y1", this);} // tgen
+
+static void Test_G11x8y1()
+{
+ extern Class_Descriptor cd_G11x8y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G11x8y1, buf);
+ G11x8y1 *dp, &lv = *(dp=new (buf) G11x8y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G11x8y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x8y1)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x8*), ABISELECT(48,32), "G11x8y1");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x8*), ABISELECT(60,40), "G11x8y1");
+ check_base_class_offset(lv, (C11*)(E11x8*), ABISELECT(16,12), "G11x8y1");
+ check_base_class_offset(lv, (D1*)(E11x8*), ABISELECT(32,20), "G11x8y1");
+ check_base_class_offset(lv, (E11x8*), ABISELECT(16,12), "G11x8y1");
+ check_base_class_offset(lv, (F1*), 0, "G11x8y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x8y1.ff");
+ test_class_info(&lv, &cd_G11x8y1);
+ dp->~G11x8y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x8y1(Test_G11x8y1, "G11x8y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x8y1C1Ev();
+extern void _ZN7G11x8y1D1Ev();
+Name_Map name_map_G11x8y1[] = {
+ NSPAIR(_ZN7G11x8y1C1Ev),
+ NSPAIR(_ZN7G11x8y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C11;
+extern VTBL_ENTRY _ZTI3C11[];
+extern VTBL_ENTRY _ZTV3C11[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C11[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E11x8;
+extern VTBL_ENTRY _ZTI5E11x8[];
+extern VTBL_ENTRY _ZTV5E11x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x8y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 15, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(60,40), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C11, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E11x8, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x8y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN5E11x83fooEv();
+extern void ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G11x8y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x8y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x8y1[0]),
+ (VTBL_ENTRY)&_ZN5E11x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv),
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G11x8y1[];
+extern void _ZN5E11x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E11x8__7G11x8y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&_ZN5E11x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x8__7G11x8y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x8__7G11x8y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E11x8__7G11x8y1[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv),
+};
+static VTT_ENTRY vtt_G11x8y1[] = {
+ {&(_ZTV7G11x8y1[5]), 5,19},
+ {&(_ZTV7G11x8y1[11]), 11,19},
+ {&(_ZTV7G11x8y1[18]), 18,19},
+ {&(_ZTV7G11x8y1[14]), 14,19},
+ {&(_tg__ZTV5E11x8__7G11x8y1[4]), 4,5},
+ {&(_tg__ZTV3C115E11x8__7G11x8y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x8__7G11x8y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x8__7G11x8y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x8y1[];
+extern VTBL_ENTRY _ZTV7G11x8y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x8y1[];
+static VTBL_ENTRY alt_thunk_names28[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G11x8y1 = { "G11x8y1", // class name
+ bases_G11x8y1, 6,
+ &(vtc_G11x8y1[0]), // expected_vtbl_contents
+ &(vtt_G11x8y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G11x8y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x8y1),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x8y1),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names28,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G11x8y2 : E11x8 , virtual F1 {
+ int ff;
+ ~G11x8y2(); // tgen
+ G11x8y2(); // tgen
+};
+//SIG(1 G11x8y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G11x8y2 ::~G11x8y2(){ note_dtor("G11x8y2", this);} // tgen
+G11x8y2 ::G11x8y2(){ note_ctor("G11x8y2", this);} // tgen
+
+static void Test_G11x8y2()
+{
+ extern Class_Descriptor cd_G11x8y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G11x8y2, buf);
+ G11x8y2 *dp, &lv = *(dp=new (buf) G11x8y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G11x8y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x8y2)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x8*), ABISELECT(40,24), "G11x8y2");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x8*), ABISELECT(52,32), "G11x8y2");
+ check_base_class_offset(lv, (C11*)(E11x8*), 0, "G11x8y2");
+ check_base_class_offset(lv, (D1*)(E11x8*), ABISELECT(16,8), "G11x8y2");
+ check_base_class_offset(lv, (E11x8*), 0, "G11x8y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G11x8y2");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G11x8y2.ff");
+ test_class_info(&lv, &cd_G11x8y2);
+ dp->~G11x8y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x8y2(Test_G11x8y2, "G11x8y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x8y2C1Ev();
+extern void _ZN7G11x8y2D1Ev();
+Name_Map name_map_G11x8y2[] = {
+ NSPAIR(_ZN7G11x8y2C1Ev),
+ NSPAIR(_ZN7G11x8y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C11;
+extern VTBL_ENTRY _ZTI3C11[];
+extern VTBL_ENTRY _ZTV3C11[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C11[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E11x8;
+extern VTBL_ENTRY _ZTI5E11x8[];
+extern VTBL_ENTRY _ZTV5E11x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x8y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(52,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C11, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E11x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 7, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x8y2[];
+extern void _ZN5E11x83fooEv();
+extern void ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E11x83fooEv,_ZThn24_N5E11x83fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x8y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x8y2[0]),
+ (VTBL_ENTRY)&_ZN5E11x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv),
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G11x8y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x8y2[];
+extern void _ZN5E11x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E11x8__7G11x8y2[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&_ZN5E11x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x8__7G11x8y2[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x8__7G11x8y2[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E11x83fooEv,_ZThn24_N5E11x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E11x8__7G11x8y2[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv),
+};
+static VTT_ENTRY vtt_G11x8y2[] = {
+ {&(_ZTV7G11x8y2[5]), 5,17},
+ {&(_tg__ZTV5E11x8__7G11x8y2[4]), 4,5},
+ {&(_tg__ZTV3C115E11x8__7G11x8y2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x8__7G11x8y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x8__7G11x8y2[3]), 3,4},
+ {&(_ZTV7G11x8y2[12]), 12,17},
+ {&(_ZTV7G11x8y2[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI7G11x8y2[];
+extern VTBL_ENTRY _ZTV7G11x8y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x8y2[];
+static VTBL_ENTRY alt_thunk_names29[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E11x83fooEv,_ZThn24_N5E11x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E11x83fooEv,_ZThn24_N5E11x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G11x8y2 = { "G11x8y2", // class name
+ bases_G11x8y2, 6,
+ &(vtc_G11x8y2[0]), // expected_vtbl_contents
+ &(vtt_G11x8y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G11x8y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x8y2),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x8y2),7, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names29,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G11x8y3 : virtual E11x8 , virtual F1 {
+ int ff;
+ ~G11x8y3(); // tgen
+ G11x8y3(); // tgen
+};
+//SIG(1 G11x8y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G11x8y3 ::~G11x8y3(){ note_dtor("G11x8y3", this);} // tgen
+G11x8y3 ::G11x8y3(){ note_ctor("G11x8y3", this);} // tgen
+
+static void Test_G11x8y3()
+{
+ extern Class_Descriptor cd_G11x8y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G11x8y3, buf);
+ G11x8y3 *dp, &lv = *(dp=new (buf) G11x8y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G11x8y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x8y3)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x8*), ABISELECT(48,28), "G11x8y3");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x8*), ABISELECT(60,36), "G11x8y3");
+ check_base_class_offset(lv, (C11*)(E11x8*), ABISELECT(16,8), "G11x8y3");
+ check_base_class_offset(lv, (D1*)(E11x8*), ABISELECT(32,16), "G11x8y3");
+ check_base_class_offset(lv, (E11x8*), ABISELECT(16,8), "G11x8y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G11x8y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x8y3.ff");
+ test_class_info(&lv, &cd_G11x8y3);
+ dp->~G11x8y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x8y3(Test_G11x8y3, "G11x8y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G11x8y3C1Ev();
+extern void _ZN7G11x8y3D1Ev();
+Name_Map name_map_G11x8y3[] = {
+ NSPAIR(_ZN7G11x8y3C1Ev),
+ NSPAIR(_ZN7G11x8y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C11;
+extern VTBL_ENTRY _ZTI3C11[];
+extern VTBL_ENTRY _ZTV3C11[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C11[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E11x8;
+extern VTBL_ENTRY _ZTI5E11x8[];
+extern VTBL_ENTRY _ZTV5E11x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x8y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 15, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(60,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C11, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E11x8, ABISELECT(16,8), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(64,40), //bcp->offset
+ 19, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x8y3[];
+extern void _ZN5E11x83fooEv();
+extern void ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x8y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x8y3[0]),
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x8y3[0]),
+ (VTBL_ENTRY)&_ZN5E11x83fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv),
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G11x8y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x8y3[];
+extern void _ZN5E11x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E11x8__7G11x8y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&_ZN5E11x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x8__7G11x8y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x8__7G11x8y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E11x8__7G11x8y3[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv),
+};
+static VTT_ENTRY vtt_G11x8y3[] = {
+ {&(_ZTV7G11x8y3[6]), 6,23},
+ {&(_ZTV7G11x8y3[11]), 11,23},
+ {&(_ZTV7G11x8y3[18]), 18,23},
+ {&(_ZTV7G11x8y3[14]), 14,23},
+ {&(_ZTV7G11x8y3[22]), 22,23},
+ {&(_tg__ZTV5E11x8__7G11x8y3[4]), 4,5},
+ {&(_tg__ZTV3C115E11x8__7G11x8y3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x8__7G11x8y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x8__7G11x8y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x8y3[];
+extern VTBL_ENTRY _ZTV7G11x8y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x8y3[];
+static VTBL_ENTRY alt_thunk_names30[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G11x8y3 = { "G11x8y3", // class name
+ bases_G11x8y3, 6,
+ &(vtc_G11x8y3[0]), // expected_vtbl_contents
+ &(vtt_G11x8y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G11x8y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x8y3),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x8y3),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names30,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G11x8y4 : E11x8 , F0 {
+ int ff;
+ ~G11x8y4(); // tgen
+ G11x8y4(); // tgen
+};
+//SIG(1 G11x8y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G11x8y4 ::~G11x8y4(){ note_dtor("G11x8y4", this);} // tgen
+G11x8y4 ::G11x8y4(){ note_ctor("G11x8y4", this);} // tgen
+
+static void Test_G11x8y4()
+{
+ extern Class_Descriptor cd_G11x8y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G11x8y4, buf);
+ G11x8y4 *dp, &lv = *(dp=new (buf) G11x8y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G11x8y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x8y4)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x8*), ABISELECT(40,28), "G11x8y4");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x8*), ABISELECT(52,36), "G11x8y4");
+ check_base_class_offset(lv, (C11*)(E11x8*), 0, "G11x8y4");
+ check_base_class_offset(lv, (D1*)(E11x8*), ABISELECT(16,8), "G11x8y4");
+ check_base_class_offset(lv, (E11x8*), 0, "G11x8y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,20), "G11x8y4");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G11x8y4.ff");
+ test_class_info(&lv, &cd_G11x8y4);
+ dp->~G11x8y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x8y4(Test_G11x8y4, "G11x8y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x8y4C1Ev();
+extern void _ZN7G11x8y4D1Ev();
+Name_Map name_map_G11x8y4[] = {
+ NSPAIR(_ZN7G11x8y4C1Ev),
+ NSPAIR(_ZN7G11x8y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C11;
+extern VTBL_ENTRY _ZTI3C11[];
+extern VTBL_ENTRY _ZTV3C11[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C11[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E11x8;
+extern VTBL_ENTRY _ZTI5E11x8[];
+extern VTBL_ENTRY _ZTV5E11x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x8y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(52,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C11, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E11x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(32,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x8y4[];
+extern void _ZN5E11x83fooEv();
+extern void ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E11x83fooEv,_ZThn28_N5E11x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G11x8y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x8y4[0]),
+ (VTBL_ENTRY)&_ZN5E11x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv),
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G11x8y4[];
+extern void _ZN5E11x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E11x8__7G11x8y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&_ZN5E11x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x8__7G11x8y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x8__7G11x8y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E11x83fooEv,_ZThn28_N5E11x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E11x8__7G11x8y4[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv),
+};
+static VTT_ENTRY vtt_G11x8y4[] = {
+ {&(_ZTV7G11x8y4[4]), 4,12},
+ {&(_tg__ZTV5E11x8__7G11x8y4[4]), 4,5},
+ {&(_tg__ZTV3C115E11x8__7G11x8y4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x8__7G11x8y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x8__7G11x8y4[3]), 3,4},
+ {&(_ZTV7G11x8y4[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G11x8y4[];
+extern VTBL_ENTRY _ZTV7G11x8y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x8y4[];
+static VTBL_ENTRY alt_thunk_names31[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E11x83fooEv,_ZThn28_N5E11x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E11x83fooEv,_ZThn28_N5E11x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G11x8y4 = { "G11x8y4", // class name
+ bases_G11x8y4, 6,
+ &(vtc_G11x8y4[0]), // expected_vtbl_contents
+ &(vtt_G11x8y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G11x8y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x8y4),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x8y4),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names31,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G11x8y5 : virtual E11x8 , F0 {
+ int ff;
+ ~G11x8y5(); // tgen
+ G11x8y5(); // tgen
+};
+//SIG(1 G11x8y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G11x8y5 ::~G11x8y5(){ note_dtor("G11x8y5", this);} // tgen
+G11x8y5 ::G11x8y5(){ note_ctor("G11x8y5", this);} // tgen
+
+static void Test_G11x8y5()
+{
+ extern Class_Descriptor cd_G11x8y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G11x8y5, buf);
+ G11x8y5 *dp, &lv = *(dp=new (buf) G11x8y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G11x8y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x8y5)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x8*), ABISELECT(48,32), "G11x8y5");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x8*), ABISELECT(60,40), "G11x8y5");
+ check_base_class_offset(lv, (C11*)(E11x8*), ABISELECT(16,12), "G11x8y5");
+ check_base_class_offset(lv, (D1*)(E11x8*), ABISELECT(32,20), "G11x8y5");
+ check_base_class_offset(lv, (E11x8*), ABISELECT(16,12), "G11x8y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G11x8y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x8y5.ff");
+ test_class_info(&lv, &cd_G11x8y5);
+ dp->~G11x8y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x8y5(Test_G11x8y5, "G11x8y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x8y5C1Ev();
+extern void _ZN7G11x8y5D1Ev();
+Name_Map name_map_G11x8y5[] = {
+ NSPAIR(_ZN7G11x8y5C1Ev),
+ NSPAIR(_ZN7G11x8y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C11;
+extern VTBL_ENTRY _ZTI3C11[];
+extern VTBL_ENTRY _ZTV3C11[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C11[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E11x8;
+extern VTBL_ENTRY _ZTI5E11x8[];
+extern VTBL_ENTRY _ZTV5E11x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x8y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(60,40), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C11, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E11x8, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x8y5[];
+extern void _ZN5E11x83fooEv();
+extern void ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G11x8y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x8y5[0]),
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x8y5[0]),
+ (VTBL_ENTRY)&_ZN5E11x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv),
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G11x8y5[];
+extern void _ZN5E11x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E11x8__7G11x8y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&_ZN5E11x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x8__7G11x8y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x8__7G11x8y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E11x8__7G11x8y5[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv),
+};
+static VTT_ENTRY vtt_G11x8y5[] = {
+ {&(_ZTV7G11x8y5[5]), 5,18},
+ {&(_ZTV7G11x8y5[10]), 10,18},
+ {&(_ZTV7G11x8y5[17]), 17,18},
+ {&(_ZTV7G11x8y5[13]), 13,18},
+ {&(_tg__ZTV5E11x8__7G11x8y5[4]), 4,5},
+ {&(_tg__ZTV3C115E11x8__7G11x8y5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x8__7G11x8y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x8__7G11x8y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x8y5[];
+extern VTBL_ENTRY _ZTV7G11x8y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x8y5[];
+static VTBL_ENTRY alt_thunk_names32[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G11x8y5 = { "G11x8y5", // class name
+ bases_G11x8y5, 6,
+ &(vtc_G11x8y5[0]), // expected_vtbl_contents
+ &(vtt_G11x8y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G11x8y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x8y5),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x8y5),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names32,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G11x8y6 : E11x8 , virtual F0 {
+ int ff;
+ ~G11x8y6(); // tgen
+ G11x8y6(); // tgen
+};
+//SIG(1 G11x8y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G11x8y6 ::~G11x8y6(){ note_dtor("G11x8y6", this);} // tgen
+G11x8y6 ::G11x8y6(){ note_ctor("G11x8y6", this);} // tgen
+
+static void Test_G11x8y6()
+{
+ extern Class_Descriptor cd_G11x8y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G11x8y6, buf);
+ G11x8y6 *dp, &lv = *(dp=new (buf) G11x8y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G11x8y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x8y6)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x8*), ABISELECT(40,24), "G11x8y6");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x8*), ABISELECT(52,32), "G11x8y6");
+ check_base_class_offset(lv, (C11*)(E11x8*), 0, "G11x8y6");
+ check_base_class_offset(lv, (D1*)(E11x8*), ABISELECT(16,8), "G11x8y6");
+ check_base_class_offset(lv, (E11x8*), 0, "G11x8y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G11x8y6");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G11x8y6.ff");
+ test_class_info(&lv, &cd_G11x8y6);
+ dp->~G11x8y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x8y6(Test_G11x8y6, "G11x8y6", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x8y6C1Ev();
+extern void _ZN7G11x8y6D1Ev();
+Name_Map name_map_G11x8y6[] = {
+ NSPAIR(_ZN7G11x8y6C1Ev),
+ NSPAIR(_ZN7G11x8y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C11;
+extern VTBL_ENTRY _ZTI3C11[];
+extern VTBL_ENTRY _ZTV3C11[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C11[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E11x8;
+extern VTBL_ENTRY _ZTI5E11x8[];
+extern VTBL_ENTRY _ZTV5E11x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x8y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(52,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C11, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E11x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(56,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x8y6[];
+extern void _ZN5E11x83fooEv();
+extern void ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E11x83fooEv,_ZThn24_N5E11x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G11x8y6[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x8y6[0]),
+ (VTBL_ENTRY)&_ZN5E11x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv),
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G11x8y6[];
+extern void _ZN5E11x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E11x8__7G11x8y6[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&_ZN5E11x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x8__7G11x8y6[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x8__7G11x8y6[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E11x83fooEv,_ZThn24_N5E11x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E11x8__7G11x8y6[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv),
+};
+static VTT_ENTRY vtt_G11x8y6[] = {
+ {&(_ZTV7G11x8y6[5]), 5,13},
+ {&(_tg__ZTV5E11x8__7G11x8y6[4]), 4,5},
+ {&(_tg__ZTV3C115E11x8__7G11x8y6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x8__7G11x8y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x8__7G11x8y6[3]), 3,4},
+ {&(_ZTV7G11x8y6[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G11x8y6[];
+extern VTBL_ENTRY _ZTV7G11x8y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x8y6[];
+static VTBL_ENTRY alt_thunk_names33[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E11x83fooEv,_ZThn24_N5E11x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E11x83fooEv,_ZThn24_N5E11x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G11x8y6 = { "G11x8y6", // class name
+ bases_G11x8y6, 6,
+ &(vtc_G11x8y6[0]), // expected_vtbl_contents
+ &(vtt_G11x8y6[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G11x8y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x8y6),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x8y6),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names33,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G11x8y7 : virtual E11x8 , virtual F0 {
+ int ff;
+ ~G11x8y7(); // tgen
+ G11x8y7(); // tgen
+};
+//SIG(1 G11x8y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G11x8y7 ::~G11x8y7(){ note_dtor("G11x8y7", this);} // tgen
+G11x8y7 ::G11x8y7(){ note_ctor("G11x8y7", this);} // tgen
+
+static void Test_G11x8y7()
+{
+ extern Class_Descriptor cd_G11x8y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G11x8y7, buf);
+ G11x8y7 *dp, &lv = *(dp=new (buf) G11x8y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G11x8y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x8y7)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x8*), ABISELECT(48,28), "G11x8y7");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x8*), ABISELECT(60,36), "G11x8y7");
+ check_base_class_offset(lv, (C11*)(E11x8*), ABISELECT(16,8), "G11x8y7");
+ check_base_class_offset(lv, (D1*)(E11x8*), ABISELECT(32,16), "G11x8y7");
+ check_base_class_offset(lv, (E11x8*), ABISELECT(16,8), "G11x8y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G11x8y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x8y7.ff");
+ test_class_info(&lv, &cd_G11x8y7);
+ dp->~G11x8y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x8y7(Test_G11x8y7, "G11x8y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x8y7C1Ev();
+extern void _ZN7G11x8y7D1Ev();
+Name_Map name_map_G11x8y7[] = {
+ NSPAIR(_ZN7G11x8y7C1Ev),
+ NSPAIR(_ZN7G11x8y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C11;
+extern VTBL_ENTRY _ZTI3C11[];
+extern VTBL_ENTRY _ZTV3C11[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C11[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E11x8;
+extern VTBL_ENTRY _ZTI5E11x8[];
+extern VTBL_ENTRY _ZTV5E11x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x8y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 15, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(60,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C11, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E11x8, ABISELECT(16,8), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(64,40), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x8y7[];
+extern void _ZN5E11x83fooEv();
+extern void ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G11x8y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x8y7[0]),
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x8y7[0]),
+ (VTBL_ENTRY)&_ZN5E11x83fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E11x83fooEv,_ZThn8_N5E11x83fooEv),
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G11x8y7[];
+extern void _ZN5E11x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E11x8__7G11x8y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&_ZN5E11x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x8__7G11x8y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x8__7G11x8y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E11x8__7G11x8y7[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv),
+};
+static VTT_ENTRY vtt_G11x8y7[] = {
+ {&(_ZTV7G11x8y7[6]), 6,19},
+ {&(_ZTV7G11x8y7[11]), 11,19},
+ {&(_ZTV7G11x8y7[18]), 18,19},
+ {&(_ZTV7G11x8y7[14]), 14,19},
+ {&(_tg__ZTV5E11x8__7G11x8y7[4]), 4,5},
+ {&(_tg__ZTV3C115E11x8__7G11x8y7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x8__7G11x8y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x8__7G11x8y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x8y7[];
+extern VTBL_ENTRY _ZTV7G11x8y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x8y7[];
+static VTBL_ENTRY alt_thunk_names34[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E11x83fooEv,_ZTv0_n12_N5E11x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E11x83fooEv,_ZThn20_N5E11x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G11x8y7 = { "G11x8y7", // class name
+ bases_G11x8y7, 6,
+ &(vtc_G11x8y7[0]), // expected_vtbl_contents
+ &(vtt_G11x8y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G11x8y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x8y7),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x8y7),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names34,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E12x8 : C12 , D1 {
+ int fd;
+ virtual void foo(); // _ZN5E12x83fooEv
+ ~E12x8(); // tgen
+ E12x8(); // tgen
+};
+//SIG(-1 E12x8) C1{ BC2{ BC3{ Fi} VBC4{ v1 Fi} Fi} BC5{ v1 Fi} v1 Fi}
+
+
+void E12x8 ::foo(){vfunc_called(this, "_ZN5E12x83fooEv");}
+E12x8 ::~E12x8(){ note_dtor("E12x8", this);} // tgen
+E12x8 ::E12x8(){ note_ctor("E12x8", this);} // tgen
+
+static void Test_E12x8()
+{
+ extern Class_Descriptor cd_E12x8;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E12x8, buf);
+ E12x8 *dp, &lv = *(dp=new (buf) E12x8());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E12x8)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E12x8)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(8,4), "E12x8");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(32,24), "E12x8");
+ check_base_class_offset(lv, (C12*), 0, "E12x8");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E12x8");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E12x8.fd");
+ test_class_info(&lv, &cd_E12x8);
+ dp->~E12x8();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE12x8(Test_E12x8, "E12x8", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E12x8C1Ev();
+extern void _ZN5E12x8D1Ev();
+Name_Map name_map_E12x8[] = {
+ NSPAIR(_ZN5E12x8C1Ev),
+ NSPAIR(_ZN5E12x8D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C12;
+extern VTBL_ENTRY _ZTI3C12[];
+extern VTBL_ENTRY _ZTV3C12[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C12[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E12x8[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(32,24), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E12x8[];
+extern void _ZN5E12x83fooEv();
+extern void ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E12x8[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&_ZN5E12x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv),
+};
+extern VTBL_ENTRY _ZTV5E12x8[];
+static VTBL_ENTRY _tg__ZTV3C12__5E12x8[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__5E12x8[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E12x8[] = {
+ {&(_ZTV5E12x8[3]), 3,11},
+ {&(_tg__ZTV3C12__5E12x8[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__5E12x8[3]), 3,4},
+ {&(_ZTV5E12x8[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI5E12x8[];
+extern VTBL_ENTRY _ZTV5E12x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x8[];
+static VTBL_ENTRY alt_thunk_names35[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E12x8 = { "E12x8", // class name
+ bases_E12x8, 4,
+ &(vtc_E12x8[0]), // expected_vtbl_contents
+ &(vtt_E12x8[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E12x8),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E12x8),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E12x8),4, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names35,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G12x8y0 : E12x8 , F1 {
+ int ff;
+ ~G12x8y0(); // tgen
+ G12x8y0(); // tgen
+};
+//SIG(1 G12x8y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G12x8y0 ::~G12x8y0(){ note_dtor("G12x8y0", this);} // tgen
+G12x8y0 ::G12x8y0(){ note_ctor("G12x8y0", this);} // tgen
+
+static void Test_G12x8y0()
+{
+ extern Class_Descriptor cd_G12x8y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x8y0, buf);
+ G12x8y0 *dp, &lv = *(dp=new (buf) G12x8y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x8y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x8y0)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x8*), ABISELECT(8,4), "G12x8y0");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x8*), ABISELECT(48,36), "G12x8y0");
+ check_base_class_offset(lv, (C12*)(E12x8*), 0, "G12x8y0");
+ check_base_class_offset(lv, (D1*)(E12x8*), ABISELECT(16,12), "G12x8y0");
+ check_base_class_offset(lv, (E12x8*), 0, "G12x8y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G12x8y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G12x8y0.ff");
+ test_class_info(&lv, &cd_G12x8y0);
+ dp->~G12x8y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x8y0(Test_G12x8y0, "G12x8y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x8y0C1Ev();
+extern void _ZN7G12x8y0D1Ev();
+Name_Map name_map_G12x8y0[] = {
+ NSPAIR(_ZN7G12x8y0C1Ev),
+ NSPAIR(_ZN7G12x8y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C12;
+extern VTBL_ENTRY _ZTI3C12[];
+extern VTBL_ENTRY _ZTV3C12[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C12[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E12x8;
+extern VTBL_ENTRY _ZTI5E12x8[];
+extern VTBL_ENTRY _ZTV5E12x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x8y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,36), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E12x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(32,24), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x8y0[];
+extern void _ZN5E12x83fooEv();
+extern void ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv)();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv)();
+extern void ABISELECT(_ZThn48_N5E12x83fooEv,_ZThn36_N5E12x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G12x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x8y0[0]),
+ (VTBL_ENTRY)&_ZN5E12x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x8y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G12x8y0[];
+extern void _ZN5E12x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E12x8__7G12x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&_ZN5E12x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x8__7G12x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x8__7G12x8y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv)();
+extern void ABISELECT(_ZThn48_N5E12x83fooEv,_ZThn36_N5E12x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E12x8__7G12x8y0[] = {
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv),
+};
+static VTT_ENTRY vtt_G12x8y0[] = {
+ {&(_ZTV7G12x8y0[3]), 3,14},
+ {&(_tg__ZTV5E12x8__7G12x8y0[3]), 3,4},
+ {&(_tg__ZTV3C125E12x8__7G12x8y0[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x8__7G12x8y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x8__7G12x8y0[3]), 3,4},
+ {&(_ZTV7G12x8y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G12x8y0[];
+extern VTBL_ENTRY _ZTV7G12x8y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x8y0[];
+static VTBL_ENTRY alt_thunk_names36[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N5E12x83fooEv,_ZThn36_N5E12x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N5E12x83fooEv,_ZThn36_N5E12x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G12x8y0 = { "G12x8y0", // class name
+ bases_G12x8y0, 6,
+ &(vtc_G12x8y0[0]), // expected_vtbl_contents
+ &(vtt_G12x8y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x8y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x8y0),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x8y0),6, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names36,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G12x8y1 : virtual E12x8 , F1 {
+ int ff;
+ ~G12x8y1(); // tgen
+ G12x8y1(); // tgen
+};
+//SIG(1 G12x8y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G12x8y1 ::~G12x8y1(){ note_dtor("G12x8y1", this);} // tgen
+G12x8y1 ::G12x8y1(){ note_ctor("G12x8y1", this);} // tgen
+
+static void Test_G12x8y1()
+{
+ extern Class_Descriptor cd_G12x8y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x8y1, buf);
+ G12x8y1 *dp, &lv = *(dp=new (buf) G12x8y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x8y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x8y1)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x8*), ABISELECT(24,16), "G12x8y1");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x8*), ABISELECT(48,36), "G12x8y1");
+ check_base_class_offset(lv, (C12*)(E12x8*), ABISELECT(16,12), "G12x8y1");
+ check_base_class_offset(lv, (D1*)(E12x8*), ABISELECT(32,24), "G12x8y1");
+ check_base_class_offset(lv, (E12x8*), ABISELECT(16,12), "G12x8y1");
+ check_base_class_offset(lv, (F1*), 0, "G12x8y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x8y1.ff");
+ test_class_info(&lv, &cd_G12x8y1);
+ dp->~G12x8y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x8y1(Test_G12x8y1, "G12x8y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x8y1C1Ev();
+extern void _ZN7G12x8y1D1Ev();
+Name_Map name_map_G12x8y1[] = {
+ NSPAIR(_ZN7G12x8y1C1Ev),
+ NSPAIR(_ZN7G12x8y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C12;
+extern VTBL_ENTRY _ZTI3C12[];
+extern VTBL_ENTRY _ZTV3C12[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C12[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E12x8;
+extern VTBL_ENTRY _ZTI5E12x8[];
+extern VTBL_ENTRY _ZTV5E12x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x8y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,36), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E12x8, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x8y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN5E12x83fooEv();
+extern void ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G12x8y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x8y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x8y1[0]),
+ (VTBL_ENTRY)&_ZN5E12x83fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G12x8y1[];
+extern void _ZN5E12x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E12x8__7G12x8y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&_ZN5E12x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x8__7G12x8y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x8__7G12x8y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E12x8__7G12x8y1[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv),
+};
+static VTT_ENTRY vtt_G12x8y1[] = {
+ {&(_ZTV7G12x8y1[4]), 4,17},
+ {&(_ZTV7G12x8y1[9]), 9,17},
+ {&(_ZTV7G12x8y1[16]), 16,17},
+ {&(_ZTV7G12x8y1[12]), 12,17},
+ {&(_tg__ZTV5E12x8__7G12x8y1[3]), 3,4},
+ {&(_tg__ZTV3C125E12x8__7G12x8y1[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x8__7G12x8y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x8__7G12x8y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x8y1[];
+extern VTBL_ENTRY _ZTV7G12x8y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x8y1[];
+static VTBL_ENTRY alt_thunk_names37[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G12x8y1 = { "G12x8y1", // class name
+ bases_G12x8y1, 6,
+ &(vtc_G12x8y1[0]), // expected_vtbl_contents
+ &(vtt_G12x8y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x8y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x8y1),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x8y1),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names37,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G12x8y2 : E12x8 , virtual F1 {
+ int ff;
+ ~G12x8y2(); // tgen
+ G12x8y2(); // tgen
+};
+//SIG(1 G12x8y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G12x8y2 ::~G12x8y2(){ note_dtor("G12x8y2", this);} // tgen
+G12x8y2 ::G12x8y2(){ note_ctor("G12x8y2", this);} // tgen
+
+static void Test_G12x8y2()
+{
+ extern Class_Descriptor cd_G12x8y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G12x8y2, buf);
+ G12x8y2 *dp, &lv = *(dp=new (buf) G12x8y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G12x8y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x8y2)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x8*), ABISELECT(8,4), "G12x8y2");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x8*), ABISELECT(40,28), "G12x8y2");
+ check_base_class_offset(lv, (C12*)(E12x8*), 0, "G12x8y2");
+ check_base_class_offset(lv, (D1*)(E12x8*), ABISELECT(16,12), "G12x8y2");
+ check_base_class_offset(lv, (E12x8*), 0, "G12x8y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G12x8y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G12x8y2.ff");
+ test_class_info(&lv, &cd_G12x8y2);
+ dp->~G12x8y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x8y2(Test_G12x8y2, "G12x8y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x8y2C1Ev();
+extern void _ZN7G12x8y2D1Ev();
+Name_Map name_map_G12x8y2[] = {
+ NSPAIR(_ZN7G12x8y2C1Ev),
+ NSPAIR(_ZN7G12x8y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C12;
+extern VTBL_ENTRY _ZTI3C12[];
+extern VTBL_ENTRY _ZTV3C12[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C12[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E12x8;
+extern VTBL_ENTRY _ZTI5E12x8[];
+extern VTBL_ENTRY _ZTV5E12x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x8y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,28), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E12x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 7, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x8y2[];
+extern void _ZN5E12x83fooEv();
+extern void ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E12x83fooEv,_ZThn28_N5E12x83fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x8y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x8y2[0]),
+ (VTBL_ENTRY)&_ZN5E12x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv),
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x8y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x8y2[];
+extern void _ZN5E12x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E12x8__7G12x8y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&_ZN5E12x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x8__7G12x8y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x8__7G12x8y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E12x83fooEv,_ZThn28_N5E12x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E12x8__7G12x8y2[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv),
+};
+static VTT_ENTRY vtt_G12x8y2[] = {
+ {&(_ZTV7G12x8y2[4]), 4,16},
+ {&(_tg__ZTV5E12x8__7G12x8y2[3]), 3,4},
+ {&(_tg__ZTV3C125E12x8__7G12x8y2[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x8__7G12x8y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x8__7G12x8y2[3]), 3,4},
+ {&(_ZTV7G12x8y2[11]), 11,16},
+ {&(_ZTV7G12x8y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G12x8y2[];
+extern VTBL_ENTRY _ZTV7G12x8y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x8y2[];
+static VTBL_ENTRY alt_thunk_names38[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E12x83fooEv,_ZThn28_N5E12x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E12x83fooEv,_ZThn28_N5E12x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G12x8y2 = { "G12x8y2", // class name
+ bases_G12x8y2, 6,
+ &(vtc_G12x8y2[0]), // expected_vtbl_contents
+ &(vtt_G12x8y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G12x8y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x8y2),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x8y2),7, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names38,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G12x8y3 : virtual E12x8 , virtual F1 {
+ int ff;
+ ~G12x8y3(); // tgen
+ G12x8y3(); // tgen
+};
+//SIG(1 G12x8y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G12x8y3 ::~G12x8y3(){ note_dtor("G12x8y3", this);} // tgen
+G12x8y3 ::G12x8y3(){ note_ctor("G12x8y3", this);} // tgen
+
+static void Test_G12x8y3()
+{
+ extern Class_Descriptor cd_G12x8y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G12x8y3, buf);
+ G12x8y3 *dp, &lv = *(dp=new (buf) G12x8y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G12x8y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x8y3)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x8*), ABISELECT(24,12), "G12x8y3");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x8*), ABISELECT(48,32), "G12x8y3");
+ check_base_class_offset(lv, (C12*)(E12x8*), ABISELECT(16,8), "G12x8y3");
+ check_base_class_offset(lv, (D1*)(E12x8*), ABISELECT(32,20), "G12x8y3");
+ check_base_class_offset(lv, (E12x8*), ABISELECT(16,8), "G12x8y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G12x8y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x8y3.ff");
+ test_class_info(&lv, &cd_G12x8y3);
+ dp->~G12x8y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x8y3(Test_G12x8y3, "G12x8y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G12x8y3C1Ev();
+extern void _ZN7G12x8y3D1Ev();
+Name_Map name_map_G12x8y3[] = {
+ NSPAIR(_ZN7G12x8y3C1Ev),
+ NSPAIR(_ZN7G12x8y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C12;
+extern VTBL_ENTRY _ZTI3C12[];
+extern VTBL_ENTRY _ZTV3C12[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C12[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E12x8;
+extern VTBL_ENTRY _ZTI5E12x8[];
+extern VTBL_ENTRY _ZTV5E12x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x8y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,32), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E12x8, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(64,40), //bcp->offset
+ 17, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x8y3[];
+extern void _ZN5E12x83fooEv();
+extern void ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x8y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x8y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x8y3[0]),
+ (VTBL_ENTRY)&_ZN5E12x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G12x8y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x8y3[];
+extern void _ZN5E12x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E12x8__7G12x8y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&_ZN5E12x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x8__7G12x8y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x8__7G12x8y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E12x8__7G12x8y3[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv),
+};
+static VTT_ENTRY vtt_G12x8y3[] = {
+ {&(_ZTV7G12x8y3[5]), 5,21},
+ {&(_ZTV7G12x8y3[9]), 9,21},
+ {&(_ZTV7G12x8y3[16]), 16,21},
+ {&(_ZTV7G12x8y3[12]), 12,21},
+ {&(_ZTV7G12x8y3[20]), 20,21},
+ {&(_tg__ZTV5E12x8__7G12x8y3[3]), 3,4},
+ {&(_tg__ZTV3C125E12x8__7G12x8y3[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x8__7G12x8y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x8__7G12x8y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x8y3[];
+extern VTBL_ENTRY _ZTV7G12x8y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x8y3[];
+static VTBL_ENTRY alt_thunk_names39[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G12x8y3 = { "G12x8y3", // class name
+ bases_G12x8y3, 6,
+ &(vtc_G12x8y3[0]), // expected_vtbl_contents
+ &(vtt_G12x8y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G12x8y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x8y3),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x8y3),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names39,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G12x8y4 : E12x8 , F0 {
+ int ff;
+ ~G12x8y4(); // tgen
+ G12x8y4(); // tgen
+};
+//SIG(1 G12x8y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G12x8y4 ::~G12x8y4(){ note_dtor("G12x8y4", this);} // tgen
+G12x8y4 ::G12x8y4(){ note_ctor("G12x8y4", this);} // tgen
+
+static void Test_G12x8y4()
+{
+ extern Class_Descriptor cd_G12x8y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x8y4, buf);
+ G12x8y4 *dp, &lv = *(dp=new (buf) G12x8y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x8y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x8y4)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x8*), ABISELECT(8,4), "G12x8y4");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x8*), ABISELECT(40,32), "G12x8y4");
+ check_base_class_offset(lv, (C12*)(E12x8*), 0, "G12x8y4");
+ check_base_class_offset(lv, (D1*)(E12x8*), ABISELECT(16,12), "G12x8y4");
+ check_base_class_offset(lv, (E12x8*), 0, "G12x8y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G12x8y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G12x8y4.ff");
+ test_class_info(&lv, &cd_G12x8y4);
+ dp->~G12x8y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x8y4(Test_G12x8y4, "G12x8y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x8y4C1Ev();
+extern void _ZN7G12x8y4D1Ev();
+Name_Map name_map_G12x8y4[] = {
+ NSPAIR(_ZN7G12x8y4C1Ev),
+ NSPAIR(_ZN7G12x8y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C12;
+extern VTBL_ENTRY _ZTI3C12[];
+extern VTBL_ENTRY _ZTV3C12[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C12[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E12x8;
+extern VTBL_ENTRY _ZTI5E12x8[];
+extern VTBL_ENTRY _ZTV5E12x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x8y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,32), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E12x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(32,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x8y4[];
+extern void _ZN5E12x83fooEv();
+extern void ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E12x83fooEv,_ZThn32_N5E12x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G12x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x8y4[0]),
+ (VTBL_ENTRY)&_ZN5E12x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv),
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G12x8y4[];
+extern void _ZN5E12x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E12x8__7G12x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&_ZN5E12x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x8__7G12x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x8__7G12x8y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E12x83fooEv,_ZThn32_N5E12x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E12x8__7G12x8y4[] = {
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv),
+};
+static VTT_ENTRY vtt_G12x8y4[] = {
+ {&(_ZTV7G12x8y4[3]), 3,11},
+ {&(_tg__ZTV5E12x8__7G12x8y4[3]), 3,4},
+ {&(_tg__ZTV3C125E12x8__7G12x8y4[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x8__7G12x8y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x8__7G12x8y4[3]), 3,4},
+ {&(_ZTV7G12x8y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G12x8y4[];
+extern VTBL_ENTRY _ZTV7G12x8y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x8y4[];
+static VTBL_ENTRY alt_thunk_names40[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E12x83fooEv,_ZThn32_N5E12x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E12x83fooEv,_ZThn32_N5E12x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G12x8y4 = { "G12x8y4", // class name
+ bases_G12x8y4, 6,
+ &(vtc_G12x8y4[0]), // expected_vtbl_contents
+ &(vtt_G12x8y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x8y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x8y4),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x8y4),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names40,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G12x8y5 : virtual E12x8 , F0 {
+ int ff;
+ ~G12x8y5(); // tgen
+ G12x8y5(); // tgen
+};
+//SIG(1 G12x8y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G12x8y5 ::~G12x8y5(){ note_dtor("G12x8y5", this);} // tgen
+G12x8y5 ::G12x8y5(){ note_ctor("G12x8y5", this);} // tgen
+
+static void Test_G12x8y5()
+{
+ extern Class_Descriptor cd_G12x8y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x8y5, buf);
+ G12x8y5 *dp, &lv = *(dp=new (buf) G12x8y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x8y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x8y5)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x8*), ABISELECT(24,16), "G12x8y5");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x8*), ABISELECT(48,36), "G12x8y5");
+ check_base_class_offset(lv, (C12*)(E12x8*), ABISELECT(16,12), "G12x8y5");
+ check_base_class_offset(lv, (D1*)(E12x8*), ABISELECT(32,24), "G12x8y5");
+ check_base_class_offset(lv, (E12x8*), ABISELECT(16,12), "G12x8y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G12x8y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x8y5.ff");
+ test_class_info(&lv, &cd_G12x8y5);
+ dp->~G12x8y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x8y5(Test_G12x8y5, "G12x8y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x8y5C1Ev();
+extern void _ZN7G12x8y5D1Ev();
+Name_Map name_map_G12x8y5[] = {
+ NSPAIR(_ZN7G12x8y5C1Ev),
+ NSPAIR(_ZN7G12x8y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C12;
+extern VTBL_ENTRY _ZTI3C12[];
+extern VTBL_ENTRY _ZTV3C12[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C12[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E12x8;
+extern VTBL_ENTRY _ZTI5E12x8[];
+extern VTBL_ENTRY _ZTV5E12x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x8y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,36), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E12x8, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x8y5[];
+extern void _ZN5E12x83fooEv();
+extern void ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G12x8y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x8y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x8y5[0]),
+ (VTBL_ENTRY)&_ZN5E12x83fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G12x8y5[];
+extern void _ZN5E12x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E12x8__7G12x8y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&_ZN5E12x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x8__7G12x8y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x8__7G12x8y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E12x8__7G12x8y5[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv),
+};
+static VTT_ENTRY vtt_G12x8y5[] = {
+ {&(_ZTV7G12x8y5[4]), 4,16},
+ {&(_ZTV7G12x8y5[8]), 8,16},
+ {&(_ZTV7G12x8y5[15]), 15,16},
+ {&(_ZTV7G12x8y5[11]), 11,16},
+ {&(_tg__ZTV5E12x8__7G12x8y5[3]), 3,4},
+ {&(_tg__ZTV3C125E12x8__7G12x8y5[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x8__7G12x8y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x8__7G12x8y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x8y5[];
+extern VTBL_ENTRY _ZTV7G12x8y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x8y5[];
+static VTBL_ENTRY alt_thunk_names41[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G12x8y5 = { "G12x8y5", // class name
+ bases_G12x8y5, 6,
+ &(vtc_G12x8y5[0]), // expected_vtbl_contents
+ &(vtt_G12x8y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x8y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x8y5),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x8y5),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names41,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G12x8y6 : E12x8 , virtual F0 {
+ int ff;
+ ~G12x8y6(); // tgen
+ G12x8y6(); // tgen
+};
+//SIG(1 G12x8y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G12x8y6 ::~G12x8y6(){ note_dtor("G12x8y6", this);} // tgen
+G12x8y6 ::G12x8y6(){ note_ctor("G12x8y6", this);} // tgen
+
+static void Test_G12x8y6()
+{
+ extern Class_Descriptor cd_G12x8y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x8y6, buf);
+ G12x8y6 *dp, &lv = *(dp=new (buf) G12x8y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x8y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x8y6)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x8*), ABISELECT(8,4), "G12x8y6");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x8*), ABISELECT(40,28), "G12x8y6");
+ check_base_class_offset(lv, (C12*)(E12x8*), 0, "G12x8y6");
+ check_base_class_offset(lv, (D1*)(E12x8*), ABISELECT(16,12), "G12x8y6");
+ check_base_class_offset(lv, (E12x8*), 0, "G12x8y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G12x8y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G12x8y6.ff");
+ test_class_info(&lv, &cd_G12x8y6);
+ dp->~G12x8y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x8y6(Test_G12x8y6, "G12x8y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x8y6C1Ev();
+extern void _ZN7G12x8y6D1Ev();
+Name_Map name_map_G12x8y6[] = {
+ NSPAIR(_ZN7G12x8y6C1Ev),
+ NSPAIR(_ZN7G12x8y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C12;
+extern VTBL_ENTRY _ZTI3C12[];
+extern VTBL_ENTRY _ZTV3C12[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C12[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E12x8;
+extern VTBL_ENTRY _ZTI5E12x8[];
+extern VTBL_ENTRY _ZTV5E12x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x8y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,28), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E12x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(52,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x8y6[];
+extern void _ZN5E12x83fooEv();
+extern void ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E12x83fooEv,_ZThn28_N5E12x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G12x8y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x8y6[0]),
+ (VTBL_ENTRY)&_ZN5E12x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv),
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G12x8y6[];
+extern void _ZN5E12x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E12x8__7G12x8y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&_ZN5E12x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x8__7G12x8y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x8__7G12x8y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E12x83fooEv,_ZThn28_N5E12x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E12x8__7G12x8y6[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv),
+};
+static VTT_ENTRY vtt_G12x8y6[] = {
+ {&(_ZTV7G12x8y6[4]), 4,12},
+ {&(_tg__ZTV5E12x8__7G12x8y6[3]), 3,4},
+ {&(_tg__ZTV3C125E12x8__7G12x8y6[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x8__7G12x8y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x8__7G12x8y6[3]), 3,4},
+ {&(_ZTV7G12x8y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G12x8y6[];
+extern VTBL_ENTRY _ZTV7G12x8y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x8y6[];
+static VTBL_ENTRY alt_thunk_names42[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E12x83fooEv,_ZThn28_N5E12x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E12x83fooEv,_ZThn28_N5E12x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G12x8y6 = { "G12x8y6", // class name
+ bases_G12x8y6, 6,
+ &(vtc_G12x8y6[0]), // expected_vtbl_contents
+ &(vtt_G12x8y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x8y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x8y6),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x8y6),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names42,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G12x8y7 : virtual E12x8 , virtual F0 {
+ int ff;
+ ~G12x8y7(); // tgen
+ G12x8y7(); // tgen
+};
+//SIG(1 G12x8y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G12x8y7 ::~G12x8y7(){ note_dtor("G12x8y7", this);} // tgen
+G12x8y7 ::G12x8y7(){ note_ctor("G12x8y7", this);} // tgen
+
+static void Test_G12x8y7()
+{
+ extern Class_Descriptor cd_G12x8y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x8y7, buf);
+ G12x8y7 *dp, &lv = *(dp=new (buf) G12x8y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x8y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x8y7)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x8*), ABISELECT(24,12), "G12x8y7");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x8*), ABISELECT(48,32), "G12x8y7");
+ check_base_class_offset(lv, (C12*)(E12x8*), ABISELECT(16,8), "G12x8y7");
+ check_base_class_offset(lv, (D1*)(E12x8*), ABISELECT(32,20), "G12x8y7");
+ check_base_class_offset(lv, (E12x8*), ABISELECT(16,8), "G12x8y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G12x8y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x8y7.ff");
+ test_class_info(&lv, &cd_G12x8y7);
+ dp->~G12x8y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x8y7(Test_G12x8y7, "G12x8y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x8y7C1Ev();
+extern void _ZN7G12x8y7D1Ev();
+Name_Map name_map_G12x8y7[] = {
+ NSPAIR(_ZN7G12x8y7C1Ev),
+ NSPAIR(_ZN7G12x8y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C12;
+extern VTBL_ENTRY _ZTI3C12[];
+extern VTBL_ENTRY _ZTV3C12[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C12[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E12x8;
+extern VTBL_ENTRY _ZTI5E12x8[];
+extern VTBL_ENTRY _ZTV5E12x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x8y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,32), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E12x8, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(60,40), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x8y7[];
+extern void _ZN5E12x83fooEv();
+extern void ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G12x8y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x8y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x8y7[0]),
+ (VTBL_ENTRY)&_ZN5E12x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E12x83fooEv,_ZThn12_N5E12x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G12x8y7[];
+extern void _ZN5E12x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E12x8__7G12x8y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&_ZN5E12x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x8__7G12x8y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x8__7G12x8y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E12x8__7G12x8y7[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv),
+};
+static VTT_ENTRY vtt_G12x8y7[] = {
+ {&(_ZTV7G12x8y7[5]), 5,17},
+ {&(_ZTV7G12x8y7[9]), 9,17},
+ {&(_ZTV7G12x8y7[16]), 16,17},
+ {&(_ZTV7G12x8y7[12]), 12,17},
+ {&(_tg__ZTV5E12x8__7G12x8y7[3]), 3,4},
+ {&(_tg__ZTV3C125E12x8__7G12x8y7[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x8__7G12x8y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x8__7G12x8y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x8y7[];
+extern VTBL_ENTRY _ZTV7G12x8y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x8y7[];
+static VTBL_ENTRY alt_thunk_names43[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E12x83fooEv,_ZTv0_n12_N5E12x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E12x83fooEv,_ZThn24_N5E12x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G12x8y7 = { "G12x8y7", // class name
+ bases_G12x8y7, 6,
+ &(vtc_G12x8y7[0]), // expected_vtbl_contents
+ &(vtt_G12x8y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x8y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x8y7),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x8y7),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names43,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E13x8 : C13 , D1 {
+ int fd;
+ virtual void foo(); // _ZN5E13x83fooEv
+ ~E13x8(); // tgen
+ E13x8(); // tgen
+};
+//SIG(-1 E13x8) C1{ BC2{ BC3{ v1 Fi} VBC4{ v1 Fi} Fi} BC5{ v1 Fi} v1 Fi}
+
+
+void E13x8 ::foo(){vfunc_called(this, "_ZN5E13x83fooEv");}
+E13x8 ::~E13x8(){ note_dtor("E13x8", this);} // tgen
+E13x8 ::E13x8(){ note_ctor("E13x8", this);} // tgen
+
+static void Test_E13x8()
+{
+ extern Class_Descriptor cd_E13x8;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E13x8, buf);
+ E13x8 *dp, &lv = *(dp=new (buf) E13x8());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E13x8)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E13x8)");
+ check_base_class_offset(lv, (A1*)(C13*), 0, "E13x8");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(32,24), "E13x8");
+ check_base_class_offset(lv, (C13*), 0, "E13x8");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E13x8");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E13x8.fd");
+ test_class_info(&lv, &cd_E13x8);
+ dp->~E13x8();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE13x8(Test_E13x8, "E13x8", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E13x8C1Ev();
+extern void _ZN5E13x8D1Ev();
+Name_Map name_map_E13x8[] = {
+ NSPAIR(_ZN5E13x8C1Ev),
+ NSPAIR(_ZN5E13x8D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C13;
+extern VTBL_ENTRY _ZTI3C13[];
+extern VTBL_ENTRY _ZTV3C13[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C13[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E13x8[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(32,24), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C13, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E13x8[];
+extern void _ZN5E13x83fooEv();
+extern void ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E13x8[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&_ZN5E13x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv),
+};
+extern VTBL_ENTRY _ZTV5E13x8[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x8[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__5E13x8[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E13x8[] = {
+ {&(_ZTV5E13x8[3]), 3,11},
+ {&(_tg__ZTV3C13__5E13x8[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__5E13x8[3]), 3,4},
+ {&(_ZTV5E13x8[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI5E13x8[];
+extern VTBL_ENTRY _ZTV5E13x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x8[];
+static VTBL_ENTRY alt_thunk_names44[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E13x8 = { "E13x8", // class name
+ bases_E13x8, 4,
+ &(vtc_E13x8[0]), // expected_vtbl_contents
+ &(vtt_E13x8[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E13x8),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E13x8),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E13x8),4, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names44,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G13x8y0 : E13x8 , F1 {
+ int ff;
+ ~G13x8y0(); // tgen
+ G13x8y0(); // tgen
+};
+//SIG(1 G13x8y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G13x8y0 ::~G13x8y0(){ note_dtor("G13x8y0", this);} // tgen
+G13x8y0 ::G13x8y0(){ note_ctor("G13x8y0", this);} // tgen
+
+static void Test_G13x8y0()
+{
+ extern Class_Descriptor cd_G13x8y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x8y0, buf);
+ G13x8y0 *dp, &lv = *(dp=new (buf) G13x8y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x8y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x8y0)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x8*), 0, "G13x8y0");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x8*), ABISELECT(48,36), "G13x8y0");
+ check_base_class_offset(lv, (C13*)(E13x8*), 0, "G13x8y0");
+ check_base_class_offset(lv, (D1*)(E13x8*), ABISELECT(16,12), "G13x8y0");
+ check_base_class_offset(lv, (E13x8*), 0, "G13x8y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G13x8y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G13x8y0.ff");
+ test_class_info(&lv, &cd_G13x8y0);
+ dp->~G13x8y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x8y0(Test_G13x8y0, "G13x8y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x8y0C1Ev();
+extern void _ZN7G13x8y0D1Ev();
+Name_Map name_map_G13x8y0[] = {
+ NSPAIR(_ZN7G13x8y0C1Ev),
+ NSPAIR(_ZN7G13x8y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C13;
+extern VTBL_ENTRY _ZTI3C13[];
+extern VTBL_ENTRY _ZTV3C13[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C13[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E13x8;
+extern VTBL_ENTRY _ZTI5E13x8[];
+extern VTBL_ENTRY _ZTV5E13x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x8y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,36), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C13, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E13x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(32,24), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x8y0[];
+extern void _ZN5E13x83fooEv();
+extern void ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv)();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv)();
+extern void ABISELECT(_ZThn48_N5E13x83fooEv,_ZThn36_N5E13x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G13x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x8y0[0]),
+ (VTBL_ENTRY)&_ZN5E13x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x8y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G13x8y0[];
+extern void _ZN5E13x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x8__7G13x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&_ZN5E13x83fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x8__7G13x8y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x8__7G13x8y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv)();
+extern void ABISELECT(_ZThn48_N5E13x83fooEv,_ZThn36_N5E13x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E13x8__7G13x8y0[] = {
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv),
+};
+static VTT_ENTRY vtt_G13x8y0[] = {
+ {&(_ZTV7G13x8y0[3]), 3,14},
+ {&(_tg__ZTV5E13x8__7G13x8y0[3]), 3,4},
+ {&(_tg__ZTV3C135E13x8__7G13x8y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x8__7G13x8y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x8__7G13x8y0[3]), 3,4},
+ {&(_ZTV7G13x8y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G13x8y0[];
+extern VTBL_ENTRY _ZTV7G13x8y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x8y0[];
+static VTBL_ENTRY alt_thunk_names45[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N5E13x83fooEv,_ZThn36_N5E13x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N5E13x83fooEv,_ZThn36_N5E13x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G13x8y0 = { "G13x8y0", // class name
+ bases_G13x8y0, 6,
+ &(vtc_G13x8y0[0]), // expected_vtbl_contents
+ &(vtt_G13x8y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x8y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x8y0),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x8y0),6, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names45,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G13x8y1 : virtual E13x8 , F1 {
+ int ff;
+ ~G13x8y1(); // tgen
+ G13x8y1(); // tgen
+};
+//SIG(1 G13x8y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G13x8y1 ::~G13x8y1(){ note_dtor("G13x8y1", this);} // tgen
+G13x8y1 ::G13x8y1(){ note_ctor("G13x8y1", this);} // tgen
+
+static void Test_G13x8y1()
+{
+ extern Class_Descriptor cd_G13x8y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x8y1, buf);
+ G13x8y1 *dp, &lv = *(dp=new (buf) G13x8y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x8y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x8y1)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x8*), ABISELECT(16,12), "G13x8y1");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x8*), ABISELECT(48,36), "G13x8y1");
+ check_base_class_offset(lv, (C13*)(E13x8*), ABISELECT(16,12), "G13x8y1");
+ check_base_class_offset(lv, (D1*)(E13x8*), ABISELECT(32,24), "G13x8y1");
+ check_base_class_offset(lv, (E13x8*), ABISELECT(16,12), "G13x8y1");
+ check_base_class_offset(lv, (F1*), 0, "G13x8y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x8y1.ff");
+ test_class_info(&lv, &cd_G13x8y1);
+ dp->~G13x8y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x8y1(Test_G13x8y1, "G13x8y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x8y1C1Ev();
+extern void _ZN7G13x8y1D1Ev();
+Name_Map name_map_G13x8y1[] = {
+ NSPAIR(_ZN7G13x8y1C1Ev),
+ NSPAIR(_ZN7G13x8y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C13;
+extern VTBL_ENTRY _ZTI3C13[];
+extern VTBL_ENTRY _ZTV3C13[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C13[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E13x8;
+extern VTBL_ENTRY _ZTI5E13x8[];
+extern VTBL_ENTRY _ZTV5E13x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x8y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,36), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C13, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E13x8, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x8y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN5E13x83fooEv();
+extern void ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G13x8y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x8y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x8y1[0]),
+ (VTBL_ENTRY)&_ZN5E13x83fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G13x8y1[];
+extern void _ZN5E13x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x8__7G13x8y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&_ZN5E13x83fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x8__7G13x8y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x8__7G13x8y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E13x8__7G13x8y1[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv),
+};
+static VTT_ENTRY vtt_G13x8y1[] = {
+ {&(_ZTV7G13x8y1[4]), 4,17},
+ {&(_ZTV7G13x8y1[9]), 9,17},
+ {&(_ZTV7G13x8y1[16]), 16,17},
+ {&(_ZTV7G13x8y1[12]), 12,17},
+ {&(_tg__ZTV5E13x8__7G13x8y1[3]), 3,4},
+ {&(_tg__ZTV3C135E13x8__7G13x8y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x8__7G13x8y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x8__7G13x8y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x8y1[];
+extern VTBL_ENTRY _ZTV7G13x8y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x8y1[];
+static VTBL_ENTRY alt_thunk_names46[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G13x8y1 = { "G13x8y1", // class name
+ bases_G13x8y1, 6,
+ &(vtc_G13x8y1[0]), // expected_vtbl_contents
+ &(vtt_G13x8y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x8y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x8y1),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x8y1),8, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names46,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G13x8y2 : E13x8 , virtual F1 {
+ int ff;
+ ~G13x8y2(); // tgen
+ G13x8y2(); // tgen
+};
+//SIG(1 G13x8y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G13x8y2 ::~G13x8y2(){ note_dtor("G13x8y2", this);} // tgen
+G13x8y2 ::G13x8y2(){ note_ctor("G13x8y2", this);} // tgen
+
+static void Test_G13x8y2()
+{
+ extern Class_Descriptor cd_G13x8y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G13x8y2, buf);
+ G13x8y2 *dp, &lv = *(dp=new (buf) G13x8y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G13x8y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x8y2)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x8*), 0, "G13x8y2");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x8*), ABISELECT(40,28), "G13x8y2");
+ check_base_class_offset(lv, (C13*)(E13x8*), 0, "G13x8y2");
+ check_base_class_offset(lv, (D1*)(E13x8*), ABISELECT(16,12), "G13x8y2");
+ check_base_class_offset(lv, (E13x8*), 0, "G13x8y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G13x8y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G13x8y2.ff");
+ test_class_info(&lv, &cd_G13x8y2);
+ dp->~G13x8y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x8y2(Test_G13x8y2, "G13x8y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x8y2C1Ev();
+extern void _ZN7G13x8y2D1Ev();
+Name_Map name_map_G13x8y2[] = {
+ NSPAIR(_ZN7G13x8y2C1Ev),
+ NSPAIR(_ZN7G13x8y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C13;
+extern VTBL_ENTRY _ZTI3C13[];
+extern VTBL_ENTRY _ZTV3C13[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C13[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E13x8;
+extern VTBL_ENTRY _ZTI5E13x8[];
+extern VTBL_ENTRY _ZTV5E13x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x8y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,28), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C13, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E13x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 7, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x8y2[];
+extern void _ZN5E13x83fooEv();
+extern void ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E13x83fooEv,_ZThn28_N5E13x83fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x8y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x8y2[0]),
+ (VTBL_ENTRY)&_ZN5E13x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv),
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x8y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x8y2[];
+extern void _ZN5E13x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x8__7G13x8y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&_ZN5E13x83fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x8__7G13x8y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x8__7G13x8y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E13x83fooEv,_ZThn28_N5E13x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E13x8__7G13x8y2[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv),
+};
+static VTT_ENTRY vtt_G13x8y2[] = {
+ {&(_ZTV7G13x8y2[4]), 4,16},
+ {&(_tg__ZTV5E13x8__7G13x8y2[3]), 3,4},
+ {&(_tg__ZTV3C135E13x8__7G13x8y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x8__7G13x8y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x8__7G13x8y2[3]), 3,4},
+ {&(_ZTV7G13x8y2[11]), 11,16},
+ {&(_ZTV7G13x8y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G13x8y2[];
+extern VTBL_ENTRY _ZTV7G13x8y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x8y2[];
+static VTBL_ENTRY alt_thunk_names47[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E13x83fooEv,_ZThn28_N5E13x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E13x83fooEv,_ZThn28_N5E13x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G13x8y2 = { "G13x8y2", // class name
+ bases_G13x8y2, 6,
+ &(vtc_G13x8y2[0]), // expected_vtbl_contents
+ &(vtt_G13x8y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G13x8y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x8y2),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x8y2),7, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names47,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G13x8y3 : virtual E13x8 , virtual F1 {
+ int ff;
+ ~G13x8y3(); // tgen
+ G13x8y3(); // tgen
+};
+//SIG(1 G13x8y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G13x8y3 ::~G13x8y3(){ note_dtor("G13x8y3", this);} // tgen
+G13x8y3 ::G13x8y3(){ note_ctor("G13x8y3", this);} // tgen
+
+static void Test_G13x8y3()
+{
+ extern Class_Descriptor cd_G13x8y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G13x8y3, buf);
+ G13x8y3 *dp, &lv = *(dp=new (buf) G13x8y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G13x8y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x8y3)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x8*), ABISELECT(16,8), "G13x8y3");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x8*), ABISELECT(48,32), "G13x8y3");
+ check_base_class_offset(lv, (C13*)(E13x8*), ABISELECT(16,8), "G13x8y3");
+ check_base_class_offset(lv, (D1*)(E13x8*), ABISELECT(32,20), "G13x8y3");
+ check_base_class_offset(lv, (E13x8*), ABISELECT(16,8), "G13x8y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G13x8y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x8y3.ff");
+ test_class_info(&lv, &cd_G13x8y3);
+ dp->~G13x8y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x8y3(Test_G13x8y3, "G13x8y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G13x8y3C1Ev();
+extern void _ZN7G13x8y3D1Ev();
+Name_Map name_map_G13x8y3[] = {
+ NSPAIR(_ZN7G13x8y3C1Ev),
+ NSPAIR(_ZN7G13x8y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C13;
+extern VTBL_ENTRY _ZTI3C13[];
+extern VTBL_ENTRY _ZTV3C13[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C13[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E13x8;
+extern VTBL_ENTRY _ZTI5E13x8[];
+extern VTBL_ENTRY _ZTV5E13x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x8y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,32), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C13, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E13x8, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(64,40), //bcp->offset
+ 17, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x8y3[];
+extern void _ZN5E13x83fooEv();
+extern void ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x8y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x8y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x8y3[0]),
+ (VTBL_ENTRY)&_ZN5E13x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G13x8y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x8y3[];
+extern void _ZN5E13x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x8__7G13x8y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&_ZN5E13x83fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x8__7G13x8y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x8__7G13x8y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E13x8__7G13x8y3[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv),
+};
+static VTT_ENTRY vtt_G13x8y3[] = {
+ {&(_ZTV7G13x8y3[5]), 5,21},
+ {&(_ZTV7G13x8y3[9]), 9,21},
+ {&(_ZTV7G13x8y3[16]), 16,21},
+ {&(_ZTV7G13x8y3[12]), 12,21},
+ {&(_ZTV7G13x8y3[20]), 20,21},
+ {&(_tg__ZTV5E13x8__7G13x8y3[3]), 3,4},
+ {&(_tg__ZTV3C135E13x8__7G13x8y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x8__7G13x8y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x8__7G13x8y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x8y3[];
+extern VTBL_ENTRY _ZTV7G13x8y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x8y3[];
+static VTBL_ENTRY alt_thunk_names48[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G13x8y3 = { "G13x8y3", // class name
+ bases_G13x8y3, 6,
+ &(vtc_G13x8y3[0]), // expected_vtbl_contents
+ &(vtt_G13x8y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G13x8y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x8y3),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x8y3),9, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names48,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G13x8y4 : E13x8 , F0 {
+ int ff;
+ ~G13x8y4(); // tgen
+ G13x8y4(); // tgen
+};
+//SIG(1 G13x8y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G13x8y4 ::~G13x8y4(){ note_dtor("G13x8y4", this);} // tgen
+G13x8y4 ::G13x8y4(){ note_ctor("G13x8y4", this);} // tgen
+
+static void Test_G13x8y4()
+{
+ extern Class_Descriptor cd_G13x8y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x8y4, buf);
+ G13x8y4 *dp, &lv = *(dp=new (buf) G13x8y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x8y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x8y4)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x8*), 0, "G13x8y4");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x8*), ABISELECT(40,32), "G13x8y4");
+ check_base_class_offset(lv, (C13*)(E13x8*), 0, "G13x8y4");
+ check_base_class_offset(lv, (D1*)(E13x8*), ABISELECT(16,12), "G13x8y4");
+ check_base_class_offset(lv, (E13x8*), 0, "G13x8y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G13x8y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G13x8y4.ff");
+ test_class_info(&lv, &cd_G13x8y4);
+ dp->~G13x8y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x8y4(Test_G13x8y4, "G13x8y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x8y4C1Ev();
+extern void _ZN7G13x8y4D1Ev();
+Name_Map name_map_G13x8y4[] = {
+ NSPAIR(_ZN7G13x8y4C1Ev),
+ NSPAIR(_ZN7G13x8y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C13;
+extern VTBL_ENTRY _ZTI3C13[];
+extern VTBL_ENTRY _ZTV3C13[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C13[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E13x8;
+extern VTBL_ENTRY _ZTI5E13x8[];
+extern VTBL_ENTRY _ZTV5E13x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x8y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,32), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C13, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E13x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(32,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x8y4[];
+extern void _ZN5E13x83fooEv();
+extern void ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E13x83fooEv,_ZThn32_N5E13x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G13x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x8y4[0]),
+ (VTBL_ENTRY)&_ZN5E13x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv),
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G13x8y4[];
+extern void _ZN5E13x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x8__7G13x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&_ZN5E13x83fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x8__7G13x8y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x8__7G13x8y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E13x83fooEv,_ZThn32_N5E13x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E13x8__7G13x8y4[] = {
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv),
+};
+static VTT_ENTRY vtt_G13x8y4[] = {
+ {&(_ZTV7G13x8y4[3]), 3,11},
+ {&(_tg__ZTV5E13x8__7G13x8y4[3]), 3,4},
+ {&(_tg__ZTV3C135E13x8__7G13x8y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x8__7G13x8y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x8__7G13x8y4[3]), 3,4},
+ {&(_ZTV7G13x8y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G13x8y4[];
+extern VTBL_ENTRY _ZTV7G13x8y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x8y4[];
+static VTBL_ENTRY alt_thunk_names49[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E13x83fooEv,_ZThn32_N5E13x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E13x83fooEv,_ZThn32_N5E13x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G13x8y4 = { "G13x8y4", // class name
+ bases_G13x8y4, 6,
+ &(vtc_G13x8y4[0]), // expected_vtbl_contents
+ &(vtt_G13x8y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x8y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x8y4),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x8y4),6, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names49,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G13x8y5 : virtual E13x8 , F0 {
+ int ff;
+ ~G13x8y5(); // tgen
+ G13x8y5(); // tgen
+};
+//SIG(1 G13x8y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G13x8y5 ::~G13x8y5(){ note_dtor("G13x8y5", this);} // tgen
+G13x8y5 ::G13x8y5(){ note_ctor("G13x8y5", this);} // tgen
+
+static void Test_G13x8y5()
+{
+ extern Class_Descriptor cd_G13x8y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x8y5, buf);
+ G13x8y5 *dp, &lv = *(dp=new (buf) G13x8y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x8y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x8y5)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x8*), ABISELECT(16,12), "G13x8y5");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x8*), ABISELECT(48,36), "G13x8y5");
+ check_base_class_offset(lv, (C13*)(E13x8*), ABISELECT(16,12), "G13x8y5");
+ check_base_class_offset(lv, (D1*)(E13x8*), ABISELECT(32,24), "G13x8y5");
+ check_base_class_offset(lv, (E13x8*), ABISELECT(16,12), "G13x8y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G13x8y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x8y5.ff");
+ test_class_info(&lv, &cd_G13x8y5);
+ dp->~G13x8y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x8y5(Test_G13x8y5, "G13x8y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x8y5C1Ev();
+extern void _ZN7G13x8y5D1Ev();
+Name_Map name_map_G13x8y5[] = {
+ NSPAIR(_ZN7G13x8y5C1Ev),
+ NSPAIR(_ZN7G13x8y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C13;
+extern VTBL_ENTRY _ZTI3C13[];
+extern VTBL_ENTRY _ZTV3C13[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C13[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E13x8;
+extern VTBL_ENTRY _ZTI5E13x8[];
+extern VTBL_ENTRY _ZTV5E13x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x8y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,36), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C13, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E13x8, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x8y5[];
+extern void _ZN5E13x83fooEv();
+extern void ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G13x8y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x8y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x8y5[0]),
+ (VTBL_ENTRY)&_ZN5E13x83fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G13x8y5[];
+extern void _ZN5E13x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x8__7G13x8y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&_ZN5E13x83fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x8__7G13x8y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x8__7G13x8y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E13x8__7G13x8y5[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv),
+};
+static VTT_ENTRY vtt_G13x8y5[] = {
+ {&(_ZTV7G13x8y5[4]), 4,16},
+ {&(_ZTV7G13x8y5[8]), 8,16},
+ {&(_ZTV7G13x8y5[15]), 15,16},
+ {&(_ZTV7G13x8y5[11]), 11,16},
+ {&(_tg__ZTV5E13x8__7G13x8y5[3]), 3,4},
+ {&(_tg__ZTV3C135E13x8__7G13x8y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x8__7G13x8y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x8__7G13x8y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x8y5[];
+extern VTBL_ENTRY _ZTV7G13x8y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x8y5[];
+static VTBL_ENTRY alt_thunk_names50[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G13x8y5 = { "G13x8y5", // class name
+ bases_G13x8y5, 6,
+ &(vtc_G13x8y5[0]), // expected_vtbl_contents
+ &(vtt_G13x8y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x8y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x8y5),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x8y5),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names50,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G13x8y6 : E13x8 , virtual F0 {
+ int ff;
+ ~G13x8y6(); // tgen
+ G13x8y6(); // tgen
+};
+//SIG(1 G13x8y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G13x8y6 ::~G13x8y6(){ note_dtor("G13x8y6", this);} // tgen
+G13x8y6 ::G13x8y6(){ note_ctor("G13x8y6", this);} // tgen
+
+static void Test_G13x8y6()
+{
+ extern Class_Descriptor cd_G13x8y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x8y6, buf);
+ G13x8y6 *dp, &lv = *(dp=new (buf) G13x8y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x8y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x8y6)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x8*), 0, "G13x8y6");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x8*), ABISELECT(40,28), "G13x8y6");
+ check_base_class_offset(lv, (C13*)(E13x8*), 0, "G13x8y6");
+ check_base_class_offset(lv, (D1*)(E13x8*), ABISELECT(16,12), "G13x8y6");
+ check_base_class_offset(lv, (E13x8*), 0, "G13x8y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G13x8y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G13x8y6.ff");
+ test_class_info(&lv, &cd_G13x8y6);
+ dp->~G13x8y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x8y6(Test_G13x8y6, "G13x8y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x8y6C1Ev();
+extern void _ZN7G13x8y6D1Ev();
+Name_Map name_map_G13x8y6[] = {
+ NSPAIR(_ZN7G13x8y6C1Ev),
+ NSPAIR(_ZN7G13x8y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C13;
+extern VTBL_ENTRY _ZTI3C13[];
+extern VTBL_ENTRY _ZTV3C13[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C13[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E13x8;
+extern VTBL_ENTRY _ZTI5E13x8[];
+extern VTBL_ENTRY _ZTV5E13x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x8y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,28), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C13, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E13x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(52,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x8y6[];
+extern void _ZN5E13x83fooEv();
+extern void ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E13x83fooEv,_ZThn28_N5E13x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G13x8y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x8y6[0]),
+ (VTBL_ENTRY)&_ZN5E13x83fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv),
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G13x8y6[];
+extern void _ZN5E13x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x8__7G13x8y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&_ZN5E13x83fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x8__7G13x8y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x8__7G13x8y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E13x83fooEv,_ZThn28_N5E13x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E13x8__7G13x8y6[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv),
+};
+static VTT_ENTRY vtt_G13x8y6[] = {
+ {&(_ZTV7G13x8y6[4]), 4,12},
+ {&(_tg__ZTV5E13x8__7G13x8y6[3]), 3,4},
+ {&(_tg__ZTV3C135E13x8__7G13x8y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x8__7G13x8y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x8__7G13x8y6[3]), 3,4},
+ {&(_ZTV7G13x8y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G13x8y6[];
+extern VTBL_ENTRY _ZTV7G13x8y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x8y6[];
+static VTBL_ENTRY alt_thunk_names51[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E13x83fooEv,_ZThn28_N5E13x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E13x83fooEv,_ZThn28_N5E13x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G13x8y6 = { "G13x8y6", // class name
+ bases_G13x8y6, 6,
+ &(vtc_G13x8y6[0]), // expected_vtbl_contents
+ &(vtt_G13x8y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x8y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x8y6),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x8y6),6, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names51,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G13x8y7 : virtual E13x8 , virtual F0 {
+ int ff;
+ ~G13x8y7(); // tgen
+ G13x8y7(); // tgen
+};
+//SIG(1 G13x8y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G13x8y7 ::~G13x8y7(){ note_dtor("G13x8y7", this);} // tgen
+G13x8y7 ::G13x8y7(){ note_ctor("G13x8y7", this);} // tgen
+
+static void Test_G13x8y7()
+{
+ extern Class_Descriptor cd_G13x8y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x8y7, buf);
+ G13x8y7 *dp, &lv = *(dp=new (buf) G13x8y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x8y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x8y7)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x8*), ABISELECT(16,8), "G13x8y7");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x8*), ABISELECT(48,32), "G13x8y7");
+ check_base_class_offset(lv, (C13*)(E13x8*), ABISELECT(16,8), "G13x8y7");
+ check_base_class_offset(lv, (D1*)(E13x8*), ABISELECT(32,20), "G13x8y7");
+ check_base_class_offset(lv, (E13x8*), ABISELECT(16,8), "G13x8y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G13x8y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x8y7.ff");
+ test_class_info(&lv, &cd_G13x8y7);
+ dp->~G13x8y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x8y7(Test_G13x8y7, "G13x8y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x8y7C1Ev();
+extern void _ZN7G13x8y7D1Ev();
+Name_Map name_map_G13x8y7[] = {
+ NSPAIR(_ZN7G13x8y7C1Ev),
+ NSPAIR(_ZN7G13x8y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C13;
+extern VTBL_ENTRY _ZTI3C13[];
+extern VTBL_ENTRY _ZTV3C13[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C13[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E13x8;
+extern VTBL_ENTRY _ZTI5E13x8[];
+extern VTBL_ENTRY _ZTV5E13x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x8y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,32), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C13, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E13x8, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(60,40), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x8y7[];
+extern void _ZN5E13x83fooEv();
+extern void ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G13x8y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x8y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x8y7[0]),
+ (VTBL_ENTRY)&_ZN5E13x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E13x83fooEv,_ZThn12_N5E13x83fooEv),
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G13x8y7[];
+extern void _ZN5E13x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x8__7G13x8y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&_ZN5E13x83fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x8__7G13x8y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x8__7G13x8y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E13x8__7G13x8y7[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv),
+};
+static VTT_ENTRY vtt_G13x8y7[] = {
+ {&(_ZTV7G13x8y7[5]), 5,17},
+ {&(_ZTV7G13x8y7[9]), 9,17},
+ {&(_ZTV7G13x8y7[16]), 16,17},
+ {&(_ZTV7G13x8y7[12]), 12,17},
+ {&(_tg__ZTV5E13x8__7G13x8y7[3]), 3,4},
+ {&(_tg__ZTV3C135E13x8__7G13x8y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x8__7G13x8y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x8__7G13x8y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x8y7[];
+extern VTBL_ENTRY _ZTV7G13x8y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x8y7[];
+static VTBL_ENTRY alt_thunk_names52[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E13x83fooEv,_ZTv0_n12_N5E13x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E13x83fooEv,_ZThn24_N5E13x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G13x8y7 = { "G13x8y7", // class name
+ bases_G13x8y7, 6,
+ &(vtc_G13x8y7[0]), // expected_vtbl_contents
+ &(vtt_G13x8y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x8y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x8y7),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x8y7),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names52,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E14x8 : C14 , D1 {
+ int fd;
+ virtual void foo(); // _ZN5E14x83fooEv
+ ~E14x8(); // tgen
+ E14x8(); // tgen
+};
+//SIG(-1 E14x8) C1{ BC2{ VBC3{ Fi} VBC4{ v1 Fi} Fi} BC5{ v1 Fi} v1 Fi}
+
+
+void E14x8 ::foo(){vfunc_called(this, "_ZN5E14x83fooEv");}
+E14x8 ::~E14x8(){ note_dtor("E14x8", this);} // tgen
+E14x8 ::E14x8(){ note_ctor("E14x8", this);} // tgen
+
+static void Test_E14x8()
+{
+ extern Class_Descriptor cd_E14x8;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E14x8, buf);
+ E14x8 *dp, &lv = *(dp=new (buf) E14x8());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E14x8)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E14x8)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(32,20), "E14x8");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(40,24), "E14x8");
+ check_base_class_offset(lv, (C14*), 0, "E14x8");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,8), "E14x8");
+ check_field_offset(lv, fd, ABISELECT(28,16), "E14x8.fd");
+ test_class_info(&lv, &cd_E14x8);
+ dp->~E14x8();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE14x8(Test_E14x8, "E14x8", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E14x8C1Ev();
+extern void _ZN5E14x8D1Ev();
+Name_Map name_map_E14x8[] = {
+ NSPAIR(_ZN5E14x8C1Ev),
+ NSPAIR(_ZN5E14x8D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C14;
+extern VTBL_ENTRY _ZTI3C14[];
+extern VTBL_ENTRY _ZTV3C14[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C14[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E14x8[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(32,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(40,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C14, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E14x8[];
+extern void _ZN5E14x83fooEv();
+extern void ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E14x8[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&_ZN5E14x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv),
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv),
+};
+extern VTBL_ENTRY _ZTV5E14x8[];
+static VTBL_ENTRY _tg__ZTV3C14__5E14x8[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__5E14x8[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E14x8[] = {
+ {&(_ZTV5E14x8[4]), 4,12},
+ {&(_tg__ZTV3C14__5E14x8[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__5E14x8[3]), 3,4},
+ {&(_ZTV5E14x8[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI5E14x8[];
+extern VTBL_ENTRY _ZTV5E14x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x8[];
+static VTBL_ENTRY alt_thunk_names53[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E14x8 = { "E14x8", // class name
+ bases_E14x8, 4,
+ &(vtc_E14x8[0]), // expected_vtbl_contents
+ &(vtt_E14x8[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E14x8),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E14x8),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E14x8),4, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names53,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G14x8y0 : E14x8 , F1 {
+ int ff;
+ ~G14x8y0(); // tgen
+ G14x8y0(); // tgen
+};
+//SIG(1 G14x8y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G14x8y0 ::~G14x8y0(){ note_dtor("G14x8y0", this);} // tgen
+G14x8y0 ::G14x8y0(){ note_ctor("G14x8y0", this);} // tgen
+
+static void Test_G14x8y0()
+{
+ extern Class_Descriptor cd_G14x8y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x8y0, buf);
+ G14x8y0 *dp, &lv = *(dp=new (buf) G14x8y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x8y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x8y0)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x8*), ABISELECT(48,32), "G14x8y0");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x8*), ABISELECT(56,36), "G14x8y0");
+ check_base_class_offset(lv, (C14*)(E14x8*), 0, "G14x8y0");
+ check_base_class_offset(lv, (D1*)(E14x8*), ABISELECT(16,8), "G14x8y0");
+ check_base_class_offset(lv, (E14x8*), 0, "G14x8y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,20), "G14x8y0");
+ check_field_offset(lv, ff, ABISELECT(44,28), "G14x8y0.ff");
+ test_class_info(&lv, &cd_G14x8y0);
+ dp->~G14x8y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x8y0(Test_G14x8y0, "G14x8y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x8y0C1Ev();
+extern void _ZN7G14x8y0D1Ev();
+Name_Map name_map_G14x8y0[] = {
+ NSPAIR(_ZN7G14x8y0C1Ev),
+ NSPAIR(_ZN7G14x8y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C14;
+extern VTBL_ENTRY _ZTI3C14[];
+extern VTBL_ENTRY _ZTV3C14[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C14[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E14x8;
+extern VTBL_ENTRY _ZTI5E14x8[];
+extern VTBL_ENTRY _ZTV5E14x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x8y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(56,36), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C14, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E14x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x8y0[];
+extern void _ZN5E14x83fooEv();
+extern void ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv)();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv)();
+extern void ABISELECT(_ZThn56_N5E14x83fooEv,_ZThn36_N5E14x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G14x8y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x8y0[0]),
+ (VTBL_ENTRY)&_ZN5E14x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x8y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-56,-36),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G14x8y0[];
+extern void _ZN5E14x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E14x8__7G14x8y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&_ZN5E14x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x8__7G14x8y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x8__7G14x8y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv)();
+extern void ABISELECT(_ZThn56_N5E14x83fooEv,_ZThn36_N5E14x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E14x8__7G14x8y0[] = {
+ ABISELECT(-56,-36),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv),
+};
+static VTT_ENTRY vtt_G14x8y0[] = {
+ {&(_ZTV7G14x8y0[4]), 4,15},
+ {&(_tg__ZTV5E14x8__7G14x8y0[4]), 4,5},
+ {&(_tg__ZTV3C145E14x8__7G14x8y0[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x8__7G14x8y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x8__7G14x8y0[3]), 3,4},
+ {&(_ZTV7G14x8y0[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G14x8y0[];
+extern VTBL_ENTRY _ZTV7G14x8y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x8y0[];
+static VTBL_ENTRY alt_thunk_names54[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn56_N5E14x83fooEv,_ZThn36_N5E14x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn56_N5E14x83fooEv,_ZThn36_N5E14x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G14x8y0 = { "G14x8y0", // class name
+ bases_G14x8y0, 6,
+ &(vtc_G14x8y0[0]), // expected_vtbl_contents
+ &(vtt_G14x8y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x8y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x8y0),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x8y0),6, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names54,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G14x8y1 : virtual E14x8 , F1 {
+ int ff;
+ ~G14x8y1(); // tgen
+ G14x8y1(); // tgen
+};
+//SIG(1 G14x8y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G14x8y1 ::~G14x8y1(){ note_dtor("G14x8y1", this);} // tgen
+G14x8y1 ::G14x8y1(){ note_ctor("G14x8y1", this);} // tgen
+
+static void Test_G14x8y1()
+{
+ extern Class_Descriptor cd_G14x8y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x8y1, buf);
+ G14x8y1 *dp, &lv = *(dp=new (buf) G14x8y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x8y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x8y1)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x8*), ABISELECT(48,32), "G14x8y1");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x8*), ABISELECT(56,36), "G14x8y1");
+ check_base_class_offset(lv, (C14*)(E14x8*), ABISELECT(16,12), "G14x8y1");
+ check_base_class_offset(lv, (D1*)(E14x8*), ABISELECT(32,20), "G14x8y1");
+ check_base_class_offset(lv, (E14x8*), ABISELECT(16,12), "G14x8y1");
+ check_base_class_offset(lv, (F1*), 0, "G14x8y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x8y1.ff");
+ test_class_info(&lv, &cd_G14x8y1);
+ dp->~G14x8y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x8y1(Test_G14x8y1, "G14x8y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x8y1C1Ev();
+extern void _ZN7G14x8y1D1Ev();
+Name_Map name_map_G14x8y1[] = {
+ NSPAIR(_ZN7G14x8y1C1Ev),
+ NSPAIR(_ZN7G14x8y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C14;
+extern VTBL_ENTRY _ZTI3C14[];
+extern VTBL_ENTRY _ZTV3C14[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C14[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E14x8;
+extern VTBL_ENTRY _ZTI5E14x8[];
+extern VTBL_ENTRY _ZTV5E14x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x8y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(56,36), //bcp->offset
+ 15, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C14, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E14x8, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x8y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN5E14x83fooEv();
+extern void ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G14x8y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x8y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x8y1[0]),
+ (VTBL_ENTRY)&_ZN5E14x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv),
+ ABISELECT(-40,-24),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G14x8y1[];
+extern void _ZN5E14x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E14x8__7G14x8y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&_ZN5E14x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x8__7G14x8y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x8__7G14x8y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E14x8__7G14x8y1[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv),
+};
+static VTT_ENTRY vtt_G14x8y1[] = {
+ {&(_ZTV7G14x8y1[5]), 5,19},
+ {&(_ZTV7G14x8y1[11]), 11,19},
+ {&(_ZTV7G14x8y1[18]), 18,19},
+ {&(_ZTV7G14x8y1[14]), 14,19},
+ {&(_tg__ZTV5E14x8__7G14x8y1[4]), 4,5},
+ {&(_tg__ZTV3C145E14x8__7G14x8y1[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x8__7G14x8y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x8__7G14x8y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x8y1[];
+extern VTBL_ENTRY _ZTV7G14x8y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x8y1[];
+static VTBL_ENTRY alt_thunk_names55[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G14x8y1 = { "G14x8y1", // class name
+ bases_G14x8y1, 6,
+ &(vtc_G14x8y1[0]), // expected_vtbl_contents
+ &(vtt_G14x8y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x8y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x8y1),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x8y1),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names55,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G14x8y2 : E14x8 , virtual F1 {
+ int ff;
+ ~G14x8y2(); // tgen
+ G14x8y2(); // tgen
+};
+//SIG(1 G14x8y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G14x8y2 ::~G14x8y2(){ note_dtor("G14x8y2", this);} // tgen
+G14x8y2 ::G14x8y2(){ note_ctor("G14x8y2", this);} // tgen
+
+static void Test_G14x8y2()
+{
+ extern Class_Descriptor cd_G14x8y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x8y2, buf);
+ G14x8y2 *dp, &lv = *(dp=new (buf) G14x8y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x8y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x8y2)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x8*), ABISELECT(36,24), "G14x8y2");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x8*), ABISELECT(40,28), "G14x8y2");
+ check_base_class_offset(lv, (C14*)(E14x8*), 0, "G14x8y2");
+ check_base_class_offset(lv, (D1*)(E14x8*), ABISELECT(16,8), "G14x8y2");
+ check_base_class_offset(lv, (E14x8*), 0, "G14x8y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G14x8y2");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G14x8y2.ff");
+ test_class_info(&lv, &cd_G14x8y2);
+ dp->~G14x8y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x8y2(Test_G14x8y2, "G14x8y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x8y2C1Ev();
+extern void _ZN7G14x8y2D1Ev();
+Name_Map name_map_G14x8y2[] = {
+ NSPAIR(_ZN7G14x8y2C1Ev),
+ NSPAIR(_ZN7G14x8y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C14;
+extern VTBL_ENTRY _ZTI3C14[];
+extern VTBL_ENTRY _ZTV3C14[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C14[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E14x8;
+extern VTBL_ENTRY _ZTI5E14x8[];
+extern VTBL_ENTRY _ZTV5E14x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x8y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(36,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(40,28), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C14, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E14x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 7, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x8y2[];
+extern void _ZN5E14x83fooEv();
+extern void ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn28_N5E14x83fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x8y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x8y2[0]),
+ (VTBL_ENTRY)&_ZN5E14x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv),
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x8y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x8y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x8y2[];
+extern void _ZN5E14x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E14x8__7G14x8y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&_ZN5E14x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x8__7G14x8y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x8__7G14x8y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn28_N5E14x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E14x8__7G14x8y2[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv),
+};
+static VTT_ENTRY vtt_G14x8y2[] = {
+ {&(_ZTV7G14x8y2[5]), 5,17},
+ {&(_tg__ZTV5E14x8__7G14x8y2[4]), 4,5},
+ {&(_tg__ZTV3C145E14x8__7G14x8y2[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x8__7G14x8y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x8__7G14x8y2[3]), 3,4},
+ {&(_ZTV7G14x8y2[12]), 12,17},
+ {&(_ZTV7G14x8y2[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI7G14x8y2[];
+extern VTBL_ENTRY _ZTV7G14x8y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x8y2[];
+static VTBL_ENTRY alt_thunk_names56[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn28_N5E14x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn28_N5E14x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G14x8y2 = { "G14x8y2", // class name
+ bases_G14x8y2, 6,
+ &(vtc_G14x8y2[0]), // expected_vtbl_contents
+ &(vtt_G14x8y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x8y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x8y2),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x8y2),7, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names56,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G14x8y3 : virtual E14x8 , virtual F1 {
+ int ff;
+ ~G14x8y3(); // tgen
+ G14x8y3(); // tgen
+};
+//SIG(1 G14x8y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ v2 Fi} Fi}
+
+
+G14x8y3 ::~G14x8y3(){ note_dtor("G14x8y3", this);} // tgen
+G14x8y3 ::G14x8y3(){ note_ctor("G14x8y3", this);} // tgen
+
+static void Test_G14x8y3()
+{
+ extern Class_Descriptor cd_G14x8y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G14x8y3, buf);
+ G14x8y3 *dp, &lv = *(dp=new (buf) G14x8y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G14x8y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x8y3)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x8*), ABISELECT(48,28), "G14x8y3");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x8*), ABISELECT(56,32), "G14x8y3");
+ check_base_class_offset(lv, (C14*)(E14x8*), ABISELECT(16,8), "G14x8y3");
+ check_base_class_offset(lv, (D1*)(E14x8*), ABISELECT(32,16), "G14x8y3");
+ check_base_class_offset(lv, (E14x8*), ABISELECT(16,8), "G14x8y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G14x8y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x8y3.ff");
+ test_class_info(&lv, &cd_G14x8y3);
+ dp->~G14x8y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x8y3(Test_G14x8y3, "G14x8y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G14x8y3C1Ev();
+extern void _ZN7G14x8y3D1Ev();
+Name_Map name_map_G14x8y3[] = {
+ NSPAIR(_ZN7G14x8y3C1Ev),
+ NSPAIR(_ZN7G14x8y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C14;
+extern VTBL_ENTRY _ZTI3C14[];
+extern VTBL_ENTRY _ZTV3C14[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C14[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E14x8;
+extern VTBL_ENTRY _ZTI5E14x8[];
+extern VTBL_ENTRY _ZTV5E14x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x8y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(56,32), //bcp->offset
+ 15, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C14, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E14x8, ABISELECT(16,8), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(72,40), //bcp->offset
+ 19, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x8y3[];
+extern void _ZN5E14x83fooEv();
+extern void ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x8y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x8y3[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x8y3[0]),
+ (VTBL_ENTRY)&_ZN5E14x83fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G14x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv),
+ ABISELECT(-40,-24),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x8y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv),
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G14x8y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x8y3[];
+extern void _ZN5E14x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E14x8__7G14x8y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&_ZN5E14x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x8__7G14x8y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x8__7G14x8y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E14x8__7G14x8y3[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv),
+};
+static VTT_ENTRY vtt_G14x8y3[] = {
+ {&(_ZTV7G14x8y3[6]), 6,23},
+ {&(_ZTV7G14x8y3[11]), 11,23},
+ {&(_ZTV7G14x8y3[18]), 18,23},
+ {&(_ZTV7G14x8y3[14]), 14,23},
+ {&(_ZTV7G14x8y3[22]), 22,23},
+ {&(_tg__ZTV5E14x8__7G14x8y3[4]), 4,5},
+ {&(_tg__ZTV3C145E14x8__7G14x8y3[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x8__7G14x8y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x8__7G14x8y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x8y3[];
+extern VTBL_ENTRY _ZTV7G14x8y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x8y3[];
+static VTBL_ENTRY alt_thunk_names57[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G14x8y3 = { "G14x8y3", // class name
+ bases_G14x8y3, 6,
+ &(vtc_G14x8y3[0]), // expected_vtbl_contents
+ &(vtt_G14x8y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G14x8y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x8y3),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x8y3),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names57,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G14x8y4 : E14x8 , F0 {
+ int ff;
+ ~G14x8y4(); // tgen
+ G14x8y4(); // tgen
+};
+//SIG(1 G14x8y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G14x8y4 ::~G14x8y4(){ note_dtor("G14x8y4", this);} // tgen
+G14x8y4 ::G14x8y4(){ note_ctor("G14x8y4", this);} // tgen
+
+static void Test_G14x8y4()
+{
+ extern Class_Descriptor cd_G14x8y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G14x8y4, buf);
+ G14x8y4 *dp, &lv = *(dp=new (buf) G14x8y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G14x8y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x8y4)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x8*), ABISELECT(40,28), "G14x8y4");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x8*), ABISELECT(48,32), "G14x8y4");
+ check_base_class_offset(lv, (C14*)(E14x8*), 0, "G14x8y4");
+ check_base_class_offset(lv, (D1*)(E14x8*), ABISELECT(16,8), "G14x8y4");
+ check_base_class_offset(lv, (E14x8*), 0, "G14x8y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,20), "G14x8y4");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G14x8y4.ff");
+ test_class_info(&lv, &cd_G14x8y4);
+ dp->~G14x8y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x8y4(Test_G14x8y4, "G14x8y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x8y4C1Ev();
+extern void _ZN7G14x8y4D1Ev();
+Name_Map name_map_G14x8y4[] = {
+ NSPAIR(_ZN7G14x8y4C1Ev),
+ NSPAIR(_ZN7G14x8y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C14;
+extern VTBL_ENTRY _ZTI3C14[];
+extern VTBL_ENTRY _ZTV3C14[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C14[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E14x8;
+extern VTBL_ENTRY _ZTI5E14x8[];
+extern VTBL_ENTRY _ZTV5E14x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x8y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(48,32), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C14, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E14x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(32,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x8y4[];
+extern void _ZN5E14x83fooEv();
+extern void ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv)();
+extern void ABISELECT(_ZThn48_N5E14x83fooEv,_ZThn32_N5E14x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G14x8y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x8y4[0]),
+ (VTBL_ENTRY)&_ZN5E14x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv),
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x8y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G14x8y4[];
+extern void _ZN5E14x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E14x8__7G14x8y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&_ZN5E14x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x8__7G14x8y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x8__7G14x8y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv)();
+extern void ABISELECT(_ZThn48_N5E14x83fooEv,_ZThn32_N5E14x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E14x8__7G14x8y4[] = {
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv),
+};
+static VTT_ENTRY vtt_G14x8y4[] = {
+ {&(_ZTV7G14x8y4[4]), 4,12},
+ {&(_tg__ZTV5E14x8__7G14x8y4[4]), 4,5},
+ {&(_tg__ZTV3C145E14x8__7G14x8y4[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x8__7G14x8y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x8__7G14x8y4[3]), 3,4},
+ {&(_ZTV7G14x8y4[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G14x8y4[];
+extern VTBL_ENTRY _ZTV7G14x8y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x8y4[];
+static VTBL_ENTRY alt_thunk_names58[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N5E14x83fooEv,_ZThn32_N5E14x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N5E14x83fooEv,_ZThn32_N5E14x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G14x8y4 = { "G14x8y4", // class name
+ bases_G14x8y4, 6,
+ &(vtc_G14x8y4[0]), // expected_vtbl_contents
+ &(vtt_G14x8y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G14x8y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x8y4),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x8y4),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names58,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G14x8y5 : virtual E14x8 , F0 {
+ int ff;
+ ~G14x8y5(); // tgen
+ G14x8y5(); // tgen
+};
+//SIG(1 G14x8y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ Fi} Fi}
+
+
+G14x8y5 ::~G14x8y5(){ note_dtor("G14x8y5", this);} // tgen
+G14x8y5 ::G14x8y5(){ note_ctor("G14x8y5", this);} // tgen
+
+static void Test_G14x8y5()
+{
+ extern Class_Descriptor cd_G14x8y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x8y5, buf);
+ G14x8y5 *dp, &lv = *(dp=new (buf) G14x8y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x8y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x8y5)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x8*), ABISELECT(48,32), "G14x8y5");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x8*), ABISELECT(56,36), "G14x8y5");
+ check_base_class_offset(lv, (C14*)(E14x8*), ABISELECT(16,12), "G14x8y5");
+ check_base_class_offset(lv, (D1*)(E14x8*), ABISELECT(32,20), "G14x8y5");
+ check_base_class_offset(lv, (E14x8*), ABISELECT(16,12), "G14x8y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G14x8y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x8y5.ff");
+ test_class_info(&lv, &cd_G14x8y5);
+ dp->~G14x8y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x8y5(Test_G14x8y5, "G14x8y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x8y5C1Ev();
+extern void _ZN7G14x8y5D1Ev();
+Name_Map name_map_G14x8y5[] = {
+ NSPAIR(_ZN7G14x8y5C1Ev),
+ NSPAIR(_ZN7G14x8y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C14;
+extern VTBL_ENTRY _ZTI3C14[];
+extern VTBL_ENTRY _ZTV3C14[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C14[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E14x8;
+extern VTBL_ENTRY _ZTI5E14x8[];
+extern VTBL_ENTRY _ZTV5E14x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x8y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,32), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(56,36), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C14, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E14x8, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x8y5[];
+extern void _ZN5E14x83fooEv();
+extern void ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G14x8y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x8y5[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x8y5[0]),
+ (VTBL_ENTRY)&_ZN5E14x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv),
+ ABISELECT(-40,-24),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x8y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G14x8y5[];
+extern void _ZN5E14x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E14x8__7G14x8y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&_ZN5E14x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x8__7G14x8y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x8__7G14x8y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E14x8__7G14x8y5[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv),
+};
+static VTT_ENTRY vtt_G14x8y5[] = {
+ {&(_ZTV7G14x8y5[5]), 5,18},
+ {&(_ZTV7G14x8y5[10]), 10,18},
+ {&(_ZTV7G14x8y5[17]), 17,18},
+ {&(_ZTV7G14x8y5[13]), 13,18},
+ {&(_tg__ZTV5E14x8__7G14x8y5[4]), 4,5},
+ {&(_tg__ZTV3C145E14x8__7G14x8y5[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x8__7G14x8y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x8__7G14x8y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x8y5[];
+extern VTBL_ENTRY _ZTV7G14x8y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x8y5[];
+static VTBL_ENTRY alt_thunk_names59[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G14x8y5 = { "G14x8y5", // class name
+ bases_G14x8y5, 6,
+ &(vtc_G14x8y5[0]), // expected_vtbl_contents
+ &(vtt_G14x8y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x8y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x8y5),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x8y5),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names59,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G14x8y6 : E14x8 , virtual F0 {
+ int ff;
+ ~G14x8y6(); // tgen
+ G14x8y6(); // tgen
+};
+//SIG(1 G14x8y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G14x8y6 ::~G14x8y6(){ note_dtor("G14x8y6", this);} // tgen
+G14x8y6 ::G14x8y6(){ note_ctor("G14x8y6", this);} // tgen
+
+static void Test_G14x8y6()
+{
+ extern Class_Descriptor cd_G14x8y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G14x8y6, buf);
+ G14x8y6 *dp, &lv = *(dp=new (buf) G14x8y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G14x8y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x8y6)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x8*), ABISELECT(36,24), "G14x8y6");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x8*), ABISELECT(40,28), "G14x8y6");
+ check_base_class_offset(lv, (C14*)(E14x8*), 0, "G14x8y6");
+ check_base_class_offset(lv, (D1*)(E14x8*), ABISELECT(16,8), "G14x8y6");
+ check_base_class_offset(lv, (E14x8*), 0, "G14x8y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G14x8y6");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G14x8y6.ff");
+ test_class_info(&lv, &cd_G14x8y6);
+ dp->~G14x8y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x8y6(Test_G14x8y6, "G14x8y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x8y6C1Ev();
+extern void _ZN7G14x8y6D1Ev();
+Name_Map name_map_G14x8y6[] = {
+ NSPAIR(_ZN7G14x8y6C1Ev),
+ NSPAIR(_ZN7G14x8y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C14;
+extern VTBL_ENTRY _ZTI3C14[];
+extern VTBL_ENTRY _ZTV3C14[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C14[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E14x8;
+extern VTBL_ENTRY _ZTI5E14x8[];
+extern VTBL_ENTRY _ZTV5E14x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x8y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(36,24), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(40,28), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C14, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E14x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F0, ABISELECT(52,36), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x8y6[];
+extern void _ZN5E14x83fooEv();
+extern void ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn28_N5E14x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G14x8y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x8y6[0]),
+ (VTBL_ENTRY)&_ZN5E14x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv),
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x8y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G14x8y6[];
+extern void _ZN5E14x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E14x8__7G14x8y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&_ZN5E14x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x8__7G14x8y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x8__7G14x8y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn28_N5E14x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E14x8__7G14x8y6[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv),
+};
+static VTT_ENTRY vtt_G14x8y6[] = {
+ {&(_ZTV7G14x8y6[5]), 5,13},
+ {&(_tg__ZTV5E14x8__7G14x8y6[4]), 4,5},
+ {&(_tg__ZTV3C145E14x8__7G14x8y6[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x8__7G14x8y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x8__7G14x8y6[3]), 3,4},
+ {&(_ZTV7G14x8y6[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G14x8y6[];
+extern VTBL_ENTRY _ZTV7G14x8y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x8y6[];
+static VTBL_ENTRY alt_thunk_names60[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn28_N5E14x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn28_N5E14x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G14x8y6 = { "G14x8y6", // class name
+ bases_G14x8y6, 6,
+ &(vtc_G14x8y6[0]), // expected_vtbl_contents
+ &(vtt_G14x8y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G14x8y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x8y6),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x8y6),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names60,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G14x8y7 : virtual E14x8 , virtual F0 {
+ int ff;
+ ~G14x8y7(); // tgen
+ G14x8y7(); // tgen
+};
+//SIG(1 G14x8y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} VBC7{ Fi} Fi}
+
+
+G14x8y7 ::~G14x8y7(){ note_dtor("G14x8y7", this);} // tgen
+G14x8y7 ::G14x8y7(){ note_ctor("G14x8y7", this);} // tgen
+
+static void Test_G14x8y7()
+{
+ extern Class_Descriptor cd_G14x8y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x8y7, buf);
+ G14x8y7 *dp, &lv = *(dp=new (buf) G14x8y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x8y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x8y7)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x8*), ABISELECT(48,28), "G14x8y7");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x8*), ABISELECT(56,32), "G14x8y7");
+ check_base_class_offset(lv, (C14*)(E14x8*), ABISELECT(16,8), "G14x8y7");
+ check_base_class_offset(lv, (D1*)(E14x8*), ABISELECT(32,16), "G14x8y7");
+ check_base_class_offset(lv, (E14x8*), ABISELECT(16,8), "G14x8y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G14x8y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x8y7.ff");
+ test_class_info(&lv, &cd_G14x8y7);
+ dp->~G14x8y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x8y7(Test_G14x8y7, "G14x8y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x8y7C1Ev();
+extern void _ZN7G14x8y7D1Ev();
+Name_Map name_map_G14x8y7[] = {
+ NSPAIR(_ZN7G14x8y7C1Ev),
+ NSPAIR(_ZN7G14x8y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C14;
+extern VTBL_ENTRY _ZTI3C14[];
+extern VTBL_ENTRY _ZTV3C14[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C14[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E14x8;
+extern VTBL_ENTRY _ZTI5E14x8[];
+extern VTBL_ENTRY _ZTV5E14x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x8[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x8y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(48,28), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(56,32), //bcp->offset
+ 15, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C14, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E14x8, ABISELECT(16,8), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(68,40), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x8y7[];
+extern void _ZN5E14x83fooEv();
+extern void ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G14x8y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x8y7[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x8y7[0]),
+ (VTBL_ENTRY)&_ZN5E14x83fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G14x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E14x83fooEv,_ZThn8_N5E14x83fooEv),
+ ABISELECT(-40,-24),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x8y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G14x8y7[];
+extern void _ZN5E14x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E14x8__7G14x8y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&_ZN5E14x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x8__7G14x8y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x8__7G14x8y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv)();
+extern void ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E14x8__7G14x8y7[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv),
+};
+static VTT_ENTRY vtt_G14x8y7[] = {
+ {&(_ZTV7G14x8y7[6]), 6,19},
+ {&(_ZTV7G14x8y7[11]), 11,19},
+ {&(_ZTV7G14x8y7[18]), 18,19},
+ {&(_ZTV7G14x8y7[14]), 14,19},
+ {&(_tg__ZTV5E14x8__7G14x8y7[4]), 4,5},
+ {&(_tg__ZTV3C145E14x8__7G14x8y7[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x8__7G14x8y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x8__7G14x8y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x8y7[];
+extern VTBL_ENTRY _ZTV7G14x8y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x8y7[];
+static VTBL_ENTRY alt_thunk_names61[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E14x83fooEv,_ZTv0_n12_N5E14x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N5E14x83fooEv,_ZThn24_N5E14x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G14x8y7 = { "G14x8y7", // class name
+ bases_G14x8y7, 6,
+ &(vtc_G14x8y7[0]), // expected_vtbl_contents
+ &(vtt_G14x8y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x8y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x8y7),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x8y7),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names61,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E15x8 : C15 , D1 {
+ int fd;
+ virtual void foo(); // _ZN5E15x83fooEv
+ ~E15x8(); // tgen
+ E15x8(); // tgen
+};
+//SIG(-1 E15x8) C1{ BC2{ VBC3{ v1 Fi} VBC4{ v1 Fi} Fi} BC5{ v1 Fi} v1 Fi}
+
+
+void E15x8 ::foo(){vfunc_called(this, "_ZN5E15x83fooEv");}
+E15x8 ::~E15x8(){ note_dtor("E15x8", this);} // tgen
+E15x8 ::E15x8(){ note_ctor("E15x8", this);} // tgen
+
+static void Test_E15x8()
+{
+ extern Class_Descriptor cd_E15x8;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E15x8, buf);
+ E15x8 *dp, &lv = *(dp=new (buf) E15x8());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E15x8)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E15x8)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(32,20), "E15x8");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(48,28), "E15x8");
+ check_base_class_offset(lv, (C15*), 0, "E15x8");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,8), "E15x8");
+ check_field_offset(lv, fd, ABISELECT(28,16), "E15x8.fd");
+ test_class_info(&lv, &cd_E15x8);
+ dp->~E15x8();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE15x8(Test_E15x8, "E15x8", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E15x8C1Ev();
+extern void _ZN5E15x8D1Ev();
+Name_Map name_map_E15x8[] = {
+ NSPAIR(_ZN5E15x8C1Ev),
+ NSPAIR(_ZN5E15x8D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C15;
+extern VTBL_ENTRY _ZTI3C15[];
+extern VTBL_ENTRY _ZTV3C15[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C15[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E15x8[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(48,28), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E15x8[];
+extern void _ZN5E15x83fooEv();
+extern void ABISELECT(_ZThn16_N5E15x83fooEv,_ZThn8_N5E15x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E15x83fooEv,_ZThn20_N5E15x83fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv)();
+extern void ABISELECT(_ZThn48_N5E15x83fooEv,_ZThn28_N5E15x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E15x8[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x8[0]),
+ (VTBL_ENTRY)&_ZN5E15x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E15x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E15x83fooEv,_ZThn8_N5E15x83fooEv),
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv),
+ ABISELECT(-48,-28),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv),
+};
+extern VTBL_ENTRY _ZTV5E15x8[];
+static VTBL_ENTRY _tg__ZTV3C15__5E15x8[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__5E15x8[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__5E15x8[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E15x8[] = {
+ {&(_ZTV5E15x8[4]), 4,16},
+ {&(_tg__ZTV3C15__5E15x8[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__5E15x8[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__5E15x8[3]), 3,4},
+ {&(_ZTV5E15x8[11]), 11,16},
+ {&(_ZTV5E15x8[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI5E15x8[];
+extern VTBL_ENTRY _ZTV5E15x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x8[];
+static VTBL_ENTRY alt_thunk_names62[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N5E15x83fooEv,_ZThn28_N5E15x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N5E15x83fooEv,_ZThn20_N5E15x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E15x8 = { "E15x8", // class name
+ bases_E15x8, 4,
+ &(vtc_E15x8[0]), // expected_vtbl_contents
+ &(vtt_E15x8[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E15x8),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E15x8),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E15x8),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names62,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G15x8y0 : E15x8 , F1 {
+ int ff;
+ ~G15x8y0(); // tgen
+ G15x8y0(); // tgen
+};
+//SIG(1 G15x8y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G15x8y0 ::~G15x8y0(){ note_dtor("G15x8y0", this);} // tgen
+G15x8y0 ::G15x8y0(){ note_ctor("G15x8y0", this);} // tgen
+
+static void Test_G15x8y0()
+{
+ extern Class_Descriptor cd_G15x8y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x8y0, buf);
+ G15x8y0 *dp, &lv = *(dp=new (buf) G15x8y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x8y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x8y0)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x8*), ABISELECT(48,32), "G15x8y0");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x8*), ABISELECT(64,40), "G15x8y0");
+ check_base_class_offset(lv, (C15*)(E15x8*), 0, "G15x8y0");
+ check_base_class_offset(lv, (D1*)(E15x8*), ABISELECT(16,8), "G15x8y0");
+ check_base_class_offset(lv, (E15x8*), 0, "G15x8y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,20), "G15x8y0");
+ check_field_offset(lv, ff, ABISELECT(44,28), "G15x8y0.ff");
+ test_class_info(&lv, &cd_G15x8y0);
+ dp->~G15x8y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x8y0(Test_G15x8y0, "G15x8y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x8y0C1Ev();
+extern void _ZN7G15x8y0D1Ev();
+Name_Map name_map_G15x8y0[] = {
+ NSPAIR(_ZN7G15x8y0C1Ev),
+ NSPAIR(_ZN7G15x8y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C15;
+extern VTBL_ENTRY _ZTI3C15[];
+extern VTBL_ENTRY _ZTV3C15[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C15[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E15x8;
+extern VTBL_ENTRY _ZTI5E15x8[];
+extern VTBL_ENTRY _ZTV5E15x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x8y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 8, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(64,40), //bcp->offset
+ 15, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 9, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(16,8), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E15x8, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G15x8y0[];
+extern void _ZN5E15x83fooEv();
+extern void ABISELECT(_ZThn16_N5E15x83fooEv,_ZThn8_N5E15x83fooEv)();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv)();
+extern void ABISELECT(_ZThn48_N5E15x83fooEv,_ZThn32_N5E15x83fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv)();
+extern void ABISELECT(_ZThn64_N5E15x83fooEv,_ZThn40_N5E15x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G15x8y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x8y0[0]),
+ (VTBL_ENTRY)&_ZN5E15x83fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E15x83fooEv,_ZThn8_N5E15x83fooEv),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x8y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv),
+ ABISELECT(-64,-40),
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x8y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G15x8y0[];
+extern void _ZN5E15x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E15x8__7G15x8y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x8[0]),
+ (VTBL_ENTRY)&_ZN5E15x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x8__7G15x8y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x8__7G15x8y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x8__7G15x8y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv)();
+extern void ABISELECT(_ZThn48_N5E15x83fooEv,_ZThn32_N5E15x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E15x8__7G15x8y0[] = {
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv)();
+extern void ABISELECT(_ZThn64_N5E15x83fooEv,_ZThn40_N5E15x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E15x8__7G15x8y0[] = {
+ ABISELECT(-64,-40),
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E15x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv),
+};
+static VTT_ENTRY vtt_G15x8y0[] = {
+ {&(_ZTV7G15x8y0[4]), 4,19},
+ {&(_tg__ZTV5E15x8__7G15x8y0[4]), 4,5},
+ {&(_tg__ZTV3C155E15x8__7G15x8y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x8__7G15x8y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x8__7G15x8y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x8__7G15x8y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x8__7G15x8y0[3]), 3,4},
+ {&(_ZTV7G15x8y0[14]), 14,19},
+ {&(_ZTV7G15x8y0[18]), 18,19},
+};
+extern VTBL_ENTRY _ZTI7G15x8y0[];
+extern VTBL_ENTRY _ZTV7G15x8y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x8y0[];
+static VTBL_ENTRY alt_thunk_names63[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn64_N5E15x83fooEv,_ZThn40_N5E15x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N5E15x83fooEv,_ZThn32_N5E15x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn64_N5E15x83fooEv,_ZThn40_N5E15x83fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N5E15x83fooEv,_ZThn32_N5E15x83fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G15x8y0 = { "G15x8y0", // class name
+ bases_G15x8y0, 6,
+ &(vtc_G15x8y0[0]), // expected_vtbl_contents
+ &(vtt_G15x8y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x8y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x8y0),19, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x8y0),9, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names63,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G15x8y1 : virtual E15x8 , F1 {
+ int ff;
+ ~G15x8y1(); // tgen
+ G15x8y1(); // tgen
+};
+//SIG(1 G15x8y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} Fi} BC6{ v1 Fi} v1 Fi} BC7{ v2 Fi} Fi}
+
+
+G15x8y1 ::~G15x8y1(){ note_dtor("G15x8y1", this);} // tgen
+G15x8y1 ::G15x8y1(){ note_ctor("G15x8y1", this);} // tgen
+
+static void Test_G15x8y1()
+{
+ extern Class_Descriptor cd_G15x8y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x8y1, buf);
+ G15x8y1 *dp, &lv = *(dp=new (buf) G15x8y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x8y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x8y1)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x8*), ABISELECT(48,32), "G15x8y1");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x8*), ABISELECT(64,40), "G15x8y1");
+ check_base_class_offset(lv, (C15*)(E15x8*), ABISELECT(16,12), "G15x8y1");
+ check_base_class_offset(lv, (D1*)(E15x8*), ABISELECT(32,20), "G15x8y1");
+ check_base_class_offset(lv, (E15x8*), ABISELECT(16,12), "G15x8y1");
+ check_base_class_offset(lv, (F1*), 0, "G15x8y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x8y1.ff");
+ test_class_info(&lv, &cd_G15x8y1);
+ dp->~G15x8y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x8y1(Test_G15x8y1, "G15x8y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x8y1C1Ev();
+extern void _ZN7G15x8y1D1Ev();
+Name_Map name_map_G15x8y1[] = {
+ NSPAIR(_ZN7G15x8y1C1Ev),
+ NSPAIR(_ZN7G15x8y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern VTBL_ENTRY _ZTI2A1[];
+extern VTBL_ENTRY _ZTV2A1[];
+extern Class_Descriptor cd_B1;
+extern VTBL_ENTRY _ZTI2B1[];
+extern VTBL_ENTRY _ZTV2B1[];
+extern Class_Descriptor cd_C15;
+extern VTBL_ENTRY _ZTI3C15[];
+extern VTBL_ENTRY _ZTV3C15[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C15[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E15x8;
+extern VTBL_ENTRY _ZTI5E15x8[];
+extern VTBL_ENTRY _ZTV5E15x8[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x8[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x8y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 15, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(64,40), //bcp->offset
+ 19, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E15x8, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G15x8y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN5E15x83fooEv();
+extern void ABISELECT(_ZThn16_N5E15x83fooEv,_ZThn8_N5E15x83fooEv)();
+extern void ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E15x83fooEv,_ZThn20_N5E15x83fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv)();
+extern void ABISELECT(_ZThn48_N5E15x83fooEv,_ZThn28_N5E15x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G15x8y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x8y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x8y1[0]),
+ (VTBL_ENTRY)&_ZN5E15x83fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N5E15x83fooEv,_ZThn8_N5E15x83fooEv),
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv),
+ ABISELECT(-48,-28),
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x8y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv),
+};
+extern VTBL_ENTRY _ZTV7G15x8y1[];
+extern void _ZN5E15x83fooEv();
+static VTBL_ENTRY _tg__ZTV5E15x8__7G15x8y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x8[0]),
+ (VTBL_ENTRY)&_ZN5E15x83fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x8__7G15x8y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x8__7G15x8y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x8__7G15x8y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv)();
+extern void ABISELECT(_ZThn32_N5E15x83fooEv,_ZThn20_N5E15x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E15x8__7G15x8y1[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv)();
+extern void ABISELECT(_ZThn48_N5E15x83fooEv,_ZThn28_N5E15x83fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E15x8__7G15x8y1[] = {
+ ABISELECT(-48,-28),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x8[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N5E15x83fooEv,_ZTv0_n12_N5E15x83fooEv),
+};
+static VTT_ENTRY vtt_G15x8y1[] = {
+ {&(_ZTV7G15x8y1[5]), 5,23},
+ {&(_ZTV7G15x8y1[11]), 11,23},
+ {&(_ZTV7G15x8y1[18]), 18,23},
+ {&(_ZTV7G15x8y1[22]), 22,23},
+ {&(_ZTV7G15x8y1[14]), 14,23},
+ {&(_tg__ZTV5E15x8__7G15x8y1[4]), 4,5},
+ {&(_tg__ZTV3C155E15x8__7G15x8y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x8__7G15x8y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x8__7G15x8y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x8__7G15x8y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x8__7G15x8y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x8y1[];
+extern VTBL_ENTRY _ZTV7G15x8y1[];
[... 207571 lines stripped ...]
More information about the llvm-commits
mailing list